Actionscript 3 如何停止使用Actionscript 3录制网络摄像头视频?

Actionscript 3 如何停止使用Actionscript 3录制网络摄像头视频?,actionscript-3,flash,video-capture,Actionscript 3,Flash,Video Capture,我有一个从网络摄像头开始录制的功能,当用户单击按钮时,就会调用该功能 功能如下: private function buttonClickHandler(event:MouseEvent):void { addChild(videoCamera); trace("Button clicked!"); if (camera.muted) { trace("Camera Muted"); Security.showSettings(Security

我有一个从网络摄像头开始录制的功能,当用户单击按钮时,就会调用该功能

功能如下:

private function buttonClickHandler(event:MouseEvent):void
{
    addChild(videoCamera);  
    trace("Button clicked!");
    if (camera.muted) {
    trace("Camera Muted");
        Security.showSettings(SecurityPanel.PRIVACY);
        camera.addEventListener(StatusEvent.STATUS, statusHandler);
    } else {
        startCamera();
    }

}
private function startCamera():void {
    // here are all the quality and performance settings that we suggest
    camera.setMode(160, 120, 12, false);
    camera.setQuality(0, 75);
    camera.setKeyFrameInterval(24);
    microphone.rate = 11;
    microphone.setSilenceLevel(0);
    nc = new NetConnection();
    nc.connect("rtmp://localhost/oflaDemo");

    // get status information from the NetConnection object
    nc.addEventListener(NetStatusEvent.NET_STATUS, ncOnStatus); 
}
函数
startCamera()
如下所示:

private function buttonClickHandler(event:MouseEvent):void
{
    addChild(videoCamera);  
    trace("Button clicked!");
    if (camera.muted) {
    trace("Camera Muted");
        Security.showSettings(SecurityPanel.PRIVACY);
        camera.addEventListener(StatusEvent.STATUS, statusHandler);
    } else {
        startCamera();
    }

}
private function startCamera():void {
    // here are all the quality and performance settings that we suggest
    camera.setMode(160, 120, 12, false);
    camera.setQuality(0, 75);
    camera.setKeyFrameInterval(24);
    microphone.rate = 11;
    microphone.setSilenceLevel(0);
    nc = new NetConnection();
    nc.connect("rtmp://localhost/oflaDemo");

    // get status information from the NetConnection object
    nc.addEventListener(NetStatusEvent.NET_STATUS, ncOnStatus); 
}
我试图编写停止录制的函数。为此,我编写了一个函数

private function buttonClickHandler2(event:MouseEvent):void {
     stopCamera();
}
它包装了一个关闭
网络连接的函数。

private function stopCamera():void {
     nc.close();
}
但是,当我单击第二个按钮时,与服务器的连接断开(在Ubuntu 12.04上运行的Red5 Media server,先前的录制被丢弃,新的录制开始)

我希望保存上一次录制,并停止录制


请提供帮助。

我看不到任何地方可以创建NetStream将视频发送到服务器。您是否在ncOnStatus处理程序函数中执行此操作?能否向我们显示
ncOnStatus()
的内容?我怀疑此方法的编写方式是,如果没有打开任何流,它会自动打开流。