【发布时间】:2012-01-21 07:13:50
【问题描述】:
我现在要做的是:
cam = Camera.getCamera(); // Get default camera.
mic = Microphone.getMicrophone(); // Get the microphone
cam.setMode(800, 600, 25);
cam.setQuality(0,90);
videoDisplay.attachCamera(cam);
当用户点击按钮进行录制时,我会执行以下操作:
private function netStatusHandler(e:NetStatusEvent):void {
var code:String = e.info.code;
Alert.show("code = " + code);
if(code == "NetConnection.Connect.Success"){ //in case of recording...
ns = new NetStream(nc);
ns.attachCamera(cam);
ns.attachAudio(mic);
ns.publish( "file1", "record" );
}
else{
trace(code);
}
}
private function start_rec():void{
nc = new NetConnection();
nc.connect("rtmp://localhost/oflaDemo");
nc.addEventListener(NetStatusEvent.NET_STATUS,netStatusHandler);
}
但是录制的质量很糟糕...我按照与上面相同的代码播放视频而不是 ns.publish 我执行 ns.play() 并且显示的视频与预期的不一样,尽管当我 ns 时。 play() 用作 red5 样本的现成 flv 视频,它们播放完美..我录制的方式有问题吗?用相机?怎么了?有什么想法吗??
播放视频的代码是:
var nsClient:Object = {};
nsClient.onMetaData = ns_onMetaData;
nc = new NetConnection();
nc.connect(null);
ns = new NetStream(nc);
ns.client = nsClient;
video = new Video(myVid.width,myVid.height);
video.attachNetStream(ns);
video.smoothing=true;
myVid.addChild(video);
ns.play("http://localhost:5080/oflaDemo/recordings/file1.flv");`
提前致谢!
【问题讨论】:
标签: apache-flex video actionscript record red5