【发布时间】:2014-03-04 20:49:25
【问题描述】:
当 flash 将 12.0.0.70 版本推送到 Chrome 时,它破坏了我的录像机。
根据patch notes here 的说法,一件事发生了变化,这可能会破坏我的基于闪存的刻录机
[3689061] [视频] 解决了在 Flash Player 中注入的问题 11.9.900.170 如果在播放 RTMP 流时缓冲区被清空,则导致视频缓冲区不再被填充
我的录像机在停止流式传输并将视频保存到 Adobe Media Server 时中断。
我尝试使用 12.0.0.70 闪存调试器对其进行调试,但在使用调试器时它不会崩溃。只有在使用非调试器 Chrome 版本时才会崩溃。
我无法调试它并从我的 swf 中获取任何有用的信息,除了对 console.log 进行大量外部调用以查看失败的位置。
如果有人在使用基于闪存、连接媒体服务器的网络摄像头录像机时也遇到了类似的问题,并且能猜出什么可以解决我的问题,我将不胜感激。
我正在使用 Flex 4.6.0 构建这个 swf
这是停止录像机的功能。
public function doStop():void{
if(status=="paused"){
doResume();
}
rectColor.color=0x000000;
rectColor.alpha=1;
var timer:Timer=new Timer(1 * 10);
timer.addEventListener(TimerEvent.TIMER,function(e:TimerEvent):void{
timer.stop();
timer.reset();
myns.close();
myTimer.stop();
if(!thumbBeginning){
if(status=="recording"){
takeScreenShot();
}
}else{
if(status=="recording"){
recordingTime = formatTime(realTime);
recordingLength = myTimer.currentCount;
if(!redoFlag){
ExternalInterface.call("CTRecorder.stopOk");
myTime.text = formatTime(0);
VD1.attachCamera(myCam);
setState("ready");
status = "stopped, ready"
playbackTimer.reset();
msg(recordingTime);
recording=false;
pauseTime=0;
}else{
pauseTime=0;
myTime.text = formatTime(0);
VD1.attachCamera(myCam);
playbackTimer.reset();
msg(recordingTime);
recording=false;
}
}
if(shutterGroup.visible){
toggleShutter();
}
myTimer.stop();
myTimer.reset();
if(redoFlag){
doRecord();
redoFlag=false;
trace("redoFlag turned off");
}
}
rectColor.alpha=.5;
});
timer.start();
}
【问题讨论】:
标签: actionscript-3 flash apache-flex video flex4.6