Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="utf-8"?>
- <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
- xmlns:s="library://ns.adobe.com/flex/spark"
- xmlns:mx="library://ns.adobe.com/flex/mx" applicationComplete="init()">
- <fx:Declarations>
- <!-- Place non-visual elements (e.g., services, value objects) here -->
- </fx:Declarations>
- <fx:Script>
- <![CDATA[
- import mx.core.UIComponent;
- private const SERVER:String = "rtmfp:";
- private const DEVKEY:String = "";
- private var myMetadata:Object;
- [Bindable]private var connected:Boolean = false;
- private var video:Video;
- private var netConnection:NetConnection;
- private var stream:NetStream;
- public function init():void{
- writeText("Broadcaster:");
- video = new Video(320,240);
- video.x = 10;
- video.y = 10;
- var uic:UIComponent = new UIComponent();
- uic.addChild(video);
- addElement(uic);
- connect();
- }
- private function connect():void{
- netConnection = new NetConnection();
- netConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatus);
- netConnection.connect(SERVER+DEVKEY);
- }
- private function onNetConnectionNetStatus(event:NetStatusEvent):void
- {
- switch(event.info.code){
- case "NetStream.Connect.Success":
- event.info.stream.dispatchEvent(event);
- break;
- }
- }
- private function netStatus(event:NetStatusEvent):void{
- writeText(event.info.code);
- switch(event.info.code){
- case "NetConnection.Connect.Success":
- setupStream();
- break;
- case "NetStream.Connect.Success":
- var cam:Camera = Camera.getCamera();
- stream.attachCamera(cam);
- stream.publish("livestream");
- video.attachCamera(cam);
- break;
- }
- }
- private function setupStream():void{
- var groupspec:GroupSpecifier = new GroupSpecifier( "fms.multicast.example");
- groupspec.serverChannelEnabled = true;
- groupspec.multicastEnabled = true;
- groupspec.setPublishPassword("spencer");
- groupspec.multicastEnabled = true;
- groupspec.serverChannelEnabled = true;
- groupspec.ipMulticastMemberUpdatesEnabled = true;
- groupspec.addIPMulticastAddress("224.1.1.1:30000");
- stream = new NetStream(netConnection,groupspec.groupspecWithAuthorizations());
- stream.addEventListener(NetStatusEvent.NET_STATUS, netStatus);
- }
- private function writeText(txt:String):void{
- txtHistory.text += txt+"\n";
- }
- private function sendmeta():void {
- writeText("Sending metadata");
- myMetadata = new Object();
- myMetadata.customProp = "Welcome from sonesh.";
- //stream.send("@setDataFrame", "onMetaData", myMetadata);
- stream.send("onStreamData", myMetadata)
- writeText("Sent metadata");
- }
- ]]>
- </fx:Script>
- <s:TextArea top="10" bottom="10" id="txtHistory" width="250" right="10"/>
- <s:Button id="btnMetaData" label="Send Metadata" width="252" right="10" mouseDown="sendmeta()"/>
- </s:Application>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement