簡體   English   中英

檢查視頻是否附加到netstream

[英]Checking if video is attached to 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中的at消息處發送消息,如果用戶發起了視頻通話,則該消息基本上會標記為true,如果用戶發起了視頻通話,則標記為false發起了音頻通話。 然后,如果標志為假,則當接收方加入時,不會啟動其攝像機,但如果標志為true,則將啟動攝像機。

當我實現它時,它不起作用。 我不知道執行時是否做錯了什么。

 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屬性使其工作。 我檢查傳入流在接收器端加載后進入的視頻字節。 如果字節等於零,則接收器的相機不會打開。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM