📄 videocollection.as
字号:
/**
* ...
* @author Default
* @version 0.1
*/
package {
import fl.video.VideoPlayer;
import flash.display.Sprite;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.net.URLLoader;
import flash.utils.Timer;
import flash.events.*;
import flash.events.NetStatusEvent;
import flash.text.TextField;
import flash.net.ObjectEncoding;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.media.Camera;
public class VideoCollection extends Sprite {
var videoWidth:int = 320;
var videoHeight:int = 240;
var frame:int = 8;
var autoAdjust:Boolean = false;
var bandwidth:int = 0;
var quality:int = 80;
var keyFrameInterval:int = 15;
var level1:int = 0;
var level2:int = 2000;
var FMSIP:String = "61.174.61.73";
var appName:String = "test";
var FMSAddress:String = "rtmp://"+FMSIP+"/"+appName;
var streamName1:String = "1-1";
var streamName2:String = "1-2";
var streamName3:String = "1-3";
var streamName4:String = "1-4";
var isEnable1:String = "true";
var isEnable2:String = "true";
var isEnable3:String = "true";
var isEnable4:String = "true";
var con:NetConnection;
var my_video1:VideoPlayer = new VideoPlayer();
var my_video2:VideoPlayer = new VideoPlayer();
var my_video3:VideoPlayer = new VideoPlayer();
var my_video4:VideoPlayer = new VideoPlayer();
var myTimer:Timer;
private var urlLoader:URLLoader;
private var my_xml:XML;
// var camera:Camera = Camera.getCamera();
public function VideoCollection() {
myTimer = new Timer(1000);
myTimer.addEventListener(TimerEvent.TIMER, timerHandle);
addChild(my_video1);
addChild(my_video2);
addChild(my_video3);
addChild(my_video4);
my_video1.x =153 ;
my_video1.y =50 ;
my_video1.x =480 ;
my_video1.y = 50 ;
my_video1.x =153 ;
my_video1.y = 260 ;
my_video1.x =480 ;
my_video1.y = 260 ;
my_video1.width = 200;
my_video1.height = 178;
my_video2.width = 200;
my_video2.height = 178;
my_video3.width = 200;
my_video3.height = 178;
my_video4.width = 200;
my_video4.height = 178;
con = new NetConnection();
con.objectEncoding = ObjectEncoding.AMF0;
con.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
getData();
}
private function getData():void {
var urlRequest:URLRequest = new URLRequest( "video.xml" );
urlLoader = new URLLoader( urlRequest );
urlLoader.addEventListener( Event.COMPLETE, LoaderHandler );
}
private function timerHandle(e:Event):void {
init();
}
private function netStatusHandler(event:NetStatusEvent):void {
trace(event.info.code);
switch (event.info.code) {
case "NetConnection.Connect.Success":
if(myTimer.running) myTimer.stop();
msgTxt.text = "连接fms服务器成功!";
break;
case "NetConnection.Connect.Failed":
case "NetConnection.Connect.Closed":
msgTxt.text = "连接fms服务器失败!";
if(!myTimer.running)myTimer.start();
break;
}
}
public function LoaderHandler( e:Event ):void {
my_xml = new XML(urlLoader.data);
FMSIP = my_xml.Channels.@FMSIP;
appName = my_xml.Channels.@AppName;
streamName1 = my_xml.Channels.Channel[0].@name;
isEnable1 = my_xml.Channels.Channel[0].@isEnable;
streamName2 = my_xml.Channels.Channel[1].@name;
isEnable2 = my_xml.Channels.Channel[1].@isEnable;
streamName3 = my_xml.Channels.Channel[2].@name;
isEnable3 = my_xml.Channels.Channel[2].@isEnable;
streamName4 = my_xml.Channels.Channel[3].@name;
isEnable4 = my_xml.Channels.Channel[3].@isEnable;
videoWidth=my_xml.VideoControl.width;
videoHeight=my_xml.VideoControl.height;
frame=my_xml.VideoControl.frame;
autoAdjust=my_xml.VideoControl.autoAdjust;
bandwidth=my_xml.VideoControl.bandwidth;
quality=my_xml.VideoControl.quality;
keyFrameInterval=my_xml.VideoControl.keyFrameInterval;
level1=my_xml.VideoControl.level1;
level2 = my_xml.VideoControl.level2;
FMSAddress = "rtmp://" + FMSIP + "/" + appName;
trace(FMSIP);
trace("appName:" + appName);
trace(streamName1);
trace(isEnable1);
trace(streamName2);
trace(isEnable2);
trace(streamName3);
trace(isEnable3);
trace(streamName4);
trace(isEnable4);
trace(videoWidth);
trace(videoHeight);
trace(frame);
trace(autoAdjust);
trace(bandwidth);
trace(quality);
trace(keyFrameInterval);
trace(level1);
trace(level2);
init();
}
private function init() {
trace(FMSAddress);
con.close();
con.connect(FMSAddress);
if (isEnable1=="true") {
var my_cam1 = Camera.getCamera("0");
trace("camera 0");
trace(my_cam1);
if(my_cam1!=null){
my_cam1.setQuality(bandwidth,quality);
my_cam1.setLoopback(true);
my_cam1.setMotionLevel(level1,level2);
my_cam1.setMode(videoWidth,videoHeight,frame,autoAdjust);
my_video1.attachCamera(my_cam1);
var stream1:NetStream = new NetStream(con);
stream1.attachCamera(my_cam1);
stream1.publish(streamName1);
}
}
if (isEnable2=="true") {
var my_cam2 = Camera.getCamera("1");
trace("camera 1");
if(my_cam2!=null){
my_cam2.setQuality(bandwidth,quality);
my_cam2.setLoopback(false);
my_cam2.setMotionLevel(level1,level2);
my_cam2.setMode(videoWidth,videoHeight,frame,autoAdjust);
my_video2.attachCamera(my_cam2);
var stream2:NetStream = new NetStream(con);
stream2.attachCamera(my_cam2);
stream2.publish(streamName2);
}
}
if (isEnable3=="true") {
var my_cam3 = Camera.getCamera("2");
if(my_cam1!=null){
my_cam3.setQuality(bandwidth,quality);
my_cam3.setLoopback(false);
my_cam3.setMotionLevel(level1,level2);
my_cam3.setMode(videoWidth,videoHeight,frame,autoAdjust);
my_video3.attachCamera(my_cam3);
var stream3:NetStream = new NetStream(con);
stream3.attachCamera(my_cam3);
stream3.publish(streamName3);
}
}
if (isEnable4=="true") {
var my_cam4 = Camera.getCamera("3");
if(my_cam1!=null){
my_cam4.setQuality(bandwidth,quality);
my_cam4.setLoopback(false);
my_cam4.setMotionLevel(level1,level2);
my_cam4.setMode(videoWidth,videoHeight,frame,autoAdjust);
my_video4.attachCamera(my_cam4);
var stream4:NetStream = new NetStream(con);
stream4.attachCamera(my_cam4);
stream4.publish(streamName4);
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -