2013-05-10 26 views
0

我在WebRTC API的函數Removestream上遇到了一個問題,它說:任何時候MediaStream被遠程對象刪除。但不是在我的情況。我已經創建對等體連接是這樣的:WebRTC函數Removestream不啓動事件OnRemoveStream。 JavaScript

var STUN_OR_TURN = {"iceServers": [{"url": "stun:stun.l.google.com:19302"}]}; 
var pc_constraints = {"optional": [{"DtlsSrtpKeyAgreement": true}]}; 
    pc = new webkitRTCPeerConnection(STUN_OR_TURN, pc_constraints); 

我添加這樣流: pc.addStream(localStream);

而且我刪除遠程流中的客戶端這樣的:

pc.removeStream(localStream); 

功能onAddstream它被正確調用,而該事件是成功地,但不是在onRemovestream的情況。

我的代碼中有錯誤嗎?

謝謝。

回答

0

你必須重新協商peerConnection(offer和answer)來調用onRemoveStream。

Demo

+0

它沒有工作。在我的重新協商方法中,我調用'this.pc.createOffer(...);'並且它不調用'onRemoveStream(...)'。 – 2017-08-31 08:43:38

0

成class Peer可以存儲每個實例的remoteMediaStream,與onAddStream(MediaStream coming)更新。

然後在刪除對等點時,您可以撥打mListner.onRemoveRemoteStream(peer.remoteMediastream);。 (或者您如何命名界面方法來處理當您刪除流時發生的情況)