View comments | RSS feed

MovieClip.attachAudio()

Availability

Usage

public attachAudio(source : Object) : Void

Parameters

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, source can also be a NetStream object playing an FLV file without the use of Flash Media Server. For more information, see the NetStream class entry in ActionScript 2.0 Language Reference.

Returns

Nothing.

Description

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.

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.

Example

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.

See also

Microphone class, NetStream class, NetStream.attachAudio(), Sound class in ActionScript 2.0 Language Reference


Comments


flashrelief said on Aug 27, 2008 at 11:05 PM :
How can this be done with as3? attachAudio() has been removed
tech_writer_00 said on Oct 1, 2008 at 3:50 PM :
This method has been replaced in AS3 with the NetStream.attachAudio() method:
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/NetStream.html

JOdy

 

RSS feed | Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/fms/2/docs/00000569.html