
Client-Side Communication ActionScript 63
The following steps summarize the sequence of actions required for publishing real-time audio
and video using Flash Communication Server and the Real-Time Messaging Protocol (RTMP):
1 Use new NetConnection to create a NetConnection object.
2 Use NetConnection.connect("rtmp://serverName/appName/appInstanceName") to
connect the application to the Flash Communication Server.
3 Use new NetStream(connection) to create a data stream over the connection.
4 Use NetStream.attachAudio(audioSource) to capture and send audio over the stream, and
NetStream.attachVideo(videoSource) to capture and send video over the stream.
5 Use NetStream.publish(publishName) to give this stream a unique name and send data
over the stream to the Flash Communication Server, so others can receive it. You can also
record the data as you publish it, so that users can play it back later.
Movies that subscribe to this stream will use the name specified here; that is, they will call the
same
NetConnection.connect method as the publisher, and then call a
NetStream.play(publishName) method. They will also have to call Video.attachVideo to
display the video.
Multiple streams can be open simultaneously over one connection, but each stream either
publishes or plays. To publish and play over a single connection, open two streams over the
connection, as shown in the following example. This example publishes audio and video data
in real time on one stream and plays it back on another stream on the same client, through the
same connection.
// These lines begin broadcasting
nc = new NetConnection(); // create connection object
nc.connect("rtmp://mySvr.myDomain.com/App"); // connect to server
ns = new NetStream(nc); // open stream within connection
ns.attachAudio(Microphone.get()); // capture audio
ns.attachVideo(Camera.get()); // capture video
ns.publish("todays_news"); // begin broadcasting
// These lines open a stream to play the video portion of the broadcast
// inside a Video object named myVideoArea.
// The audio is played through the standard output device--you don’t
// need to issue a separate command to hear the audio.
ns2 = new NetStream(nc); // open another stream over the same connection
myVideoArea.attachVideo(ns2); // specify where to display video
ns2.play("todays_news"); // play uses the same name as publish, above
In the previous example, note that both the publisher and subscriber call an attachVideo
method. The publisher calls
NetStream.attachVideo to connect a video feed to a stream. The
subscriber calls
Video.attachVideo to connect a video feed to a Video object on the Stage; the
incoming video is displayed inside this object.
Note also that although the publisher calls an
attachAudio method, the subscriber does not.
This is because audio sent through a stream is played through the subscriber’s standard audio
output device by default; the subscriber doesn’t have to attach the incoming audio to an object on
the Stage. However, you can use
MovieClip.attachAudio to route audio from a NetStream
object to a movie clip. If you do this, you can then create a Sound object to control the volume of
the sound. For more information, see
MovieClip.attachAudio.
Commenti su questo manuale