Source code: com/anotherbigidea/flash/movie/Sound.java
1 /****************************************************************
2 * Copyright (c) 2001, David N. Main, All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or
5 * without modification, are permitted provided that the
6 * following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above
9 * copyright notice, this list of conditions and the following
10 * disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above
13 * copyright notice, this list of conditions and the following
14 * disclaimer in the documentation and/or other materials
15 * provided with the distribution.
16 *
17 * 3. The name of the author may not be used to endorse or
18 * promote products derived from this software without specific
19 * prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY
22 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
24 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25 * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
27 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
31 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
32 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 ****************************************************************/
34 package com.anotherbigidea.flash.movie;
35
36 import java.io.*;
37 import java.util.*;
38 import com.anotherbigidea.flash.interfaces.*;
39 import com.anotherbigidea.flash.writers.*;
40 import com.anotherbigidea.flash.readers.*;
41 import com.anotherbigidea.flash.structs.*;
42 import com.anotherbigidea.flash.SWFConstants;
43
44 /**
45 * A Sound Symbol
46 */
47 public class Sound extends Symbol
48 {
49 public int format;
50 public int frequency;
51 public boolean is16bit;
52 public boolean isStereo;
53 public int sampleCount;
54 public byte[] soundData;
55
56 public Sound( int format, int frequency, boolean is16bit, boolean isStereo, int sampleCount, byte[] soundData )
57 {
58 this.format = format;
59 this.frequency = frequency;
60 this.is16bit = is16bit;
61 this.isStereo = isStereo;
62 this.sampleCount = sampleCount;
63 this.soundData = soundData;
64 }
65
66 protected int defineSymbol( Movie movie,
67 SWFTagTypes timelineWriter,
68 SWFTagTypes definitionWriter )
69 throws IOException
70 {
71 int id = getNextId( movie );
72 definitionWriter.tagDefineSound( id, format, frequency, is16bit, isStereo, sampleCount, soundData );
73 return id;
74 }
75
76 public int getFrequency() { return frequency; }
77 public int getSampleCount() { return sampleCount; }
78 }