检查视频是否连接到netstream



我正在开发一个视频聊天应用程序,我正在构建一个功能,在这个功能中,开始通话的人可以将通话切换到音频通话。现在接收器得到一个调用的链接,当他们加入调用时,应用程序获得他们的相机和麦克风并将其连接到netstream。我想要的是,如果发起者,如果调用在开始调用时关闭他的摄像头,当接收者加入调用时,应用程序不应该得到摄像头,因为它们没有视频连接到netstream。现在我已经使用了netstream.info. videobytespersecond,但由于对方的视频和音频在接收者加入呼叫时不会立即开始(有3-4秒的延迟),该函数在呼叫开始时一直返回0,无论netstream是否有视频附加到它。

这就是我所做的

public function checkVideo():Number        {
        hey=_incomingStream.info.videoByteCount;
        return hey;
    }
if(_outgoingStream && _incomingStream!=null ){
                if(checkVideo()>0)
                _outgoingStream.attachCamera(camera);
                else
                    _outgoingStream.attachCamera(null);  

它不工作。

接下来我读到关于netstream.send()函数,所以我的想法是,当用户发起呼叫时,他/她将在netstream中发送一条消息,如果用户发起视频呼叫,则基本标记为真,如果用户发起音频呼叫,则标记为假。然后,当接收方加入时,如果标志为假,则不会启动相机,但如果标志为真,则会启动相机。

当我实现它时,它不起作用。我不知道是否有什么我做错了,而实施。

 if(camera && !muteCam )
        {//Initate call
            camera = setCameraQuality(camera);
            yourVidHolder.attachCamera(camera);
            if(_outgoingStream && _incomingStream==null){
                _outgoingStream.attachCamera(camera);
 _outgoingStream.send("flagVideo", true);
----------------------------------------------------------------------------------
public function flagV():Boolean
    {
        _incomingStream.client.flagVideo=function(flag:Boolean):void{
            check=flag;
        }

            return check;
    }

if(_outgoingStream && _incomingStream!=null ){
                if(checkVideo()>0)
                _outgoingStream.attachCamera(camera);
                else
                    _outgoingStream.attachCamera(null);    
            } 

但是我不能让它工作。有人能帮我一下吗?也许还有一个更好的方法,我可以检查netstream是否有一个视频附加到它?

我让它工作了。我用的是netstreaminfo。Videobytecount属性使其工作。在接收端加载了传入流之后,我检查视频字节。如果字节数等于零,那么接收器的摄像头将不会打开。

相关内容

  • 没有找到相关文章

最新更新