Flash Media Server |
|||
| Client-Side ActionScript Language Reference for Flash Media Server 2 > Client-Side ActionScript Language Reference > MovieClip class > MovieClip.attachAudio() | |||
public attachAudio(source : Object) : Void
source The object containing the audio to play. Valid values are a Microphone object, a NetStream object (requires Flash Media Server), and false (stops playing the audio).
|
NOTE |
|
In Flash Player 7 and later, |
Nothing.
Method; specifies the audio source to be either played locally (Microphone object) or streamed from the Flash Media Server (NetStream object). To stop playing the audio source, pass false for source.
source. This captures and plays local audio from the microphone hardware. source. (The same NetStream object can contain both audio and video information. To play back video from a NetStream object, use the Video.attachVideo() method.)You don't have to use this method to play back incoming streamed audio; audio sent through a stream is played through the subscriber's standard audio output device by default when the subscriber issues NetStream.play(). However, if you use this method to route streaming audio to a movie clip, you can then create a Sound object to control some aspects of the sound.
The following example creates a new NetStream connection. Add a new Video symbol by opening the Library panel and selecting New Video from the Library options menu. Give the symbol the instance name my_video. Dynamically load the FLV video at runtime. Use the attachAudio() method to attach the audio from the FLV file to a movie clip on the Stage. Then you can control the audio in the movie clip by using the Sound class and two buttons called volUp_btn and volDown_btn.
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
my_video.attachVideo(my_ns);
my_ns.play("yourVideo.flv");
this.createEmptyMovieClip("flv_mc", this.getNextHighestDepth());
flv_mc.attachAudio(my_ns);
var audio_sound:Sound = new Sound(flv_mc);
// Add volume buttons.
volUp_btn.onRelease = function() {
if (audio_sound.getVolume()<100) {
audio_sound.setVolume(audio_sound.getVolume()+10);
updateVolume();
}
};
volDown_btn.onRelease = function() {
if (audio_sound.getVolume()>0) {
audio_sound.setVolume(audio_sound.getVolume()-10);
updateVolume();
}
};
// updates the volume
this.createTextField("volume_txt", this.getNextHighestDepth(), 0, 0, 100, 22);
updateVolume();
function updateVolume() {
volume_txt.text = "Volume: "+audio_sound.getVolume();
}
The following example specifies a microphone as the audio source for a dynamically created movie clip instance called audio_mc:
var active_mic:Microphone = Microphone.get();
this.createEmptyMovieClip("audio_mc", this.getNextHighestDepth());
audio_mc.attachAudio(active_mic);
The MovieClip.getNextHighestDepth() method used in this example requires Flash Player 7 or later. If your SWF file includes a v2 component (version 2 of the Macromedia Component Architecture), use the DepthManager class from the component framework instead of the MovieClip.getNextHighestDepth() method.
Microphone class, NetStream class, NetStream.attachAudio(), Sound class in ActionScript 2.0 Language Reference