Функция WebRTC Removestream не запускает событие OnRemoveStream. JavaScript

У меня есть проблема с функцией Removestream в WebRTC API, которая говорит: она вызывается каждый раз, когда MediaStream удаляется удаленным узлом. Но не в моем случае. Я создал одноранговое соединение следующим образом:

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.

У меня есть ошибка в моем коде?

Спасибо.


person Jcaballerogon    schedule 10.05.2013    source источник


Ответы (2)


вам нужно повторно согласовать peerConnection (предложение и ответ), чтобы вызвать onRemoveStream.

Демо

person kongaraju    schedule 21.05.2013
comment
Это не сработало. В моем методе пересмотра я вызываю this.pc.createOffer(...);, а он не вызывает onRemoveStream(...). - person Stoica Mircea; 31.08.2017

В классе Peer вы можете сохранить remoteMediaStream каждого экземпляра, обновить его с помощью onAddStream(MediaStream coming).

Затем при удалении пира вы можете вызвать mListner.onRemoveRemoteStream(peer.remoteMediastream);. (или как вы назвали метод интерфейса для обработки того, что происходит, когда вы удаляете поток)

person Stoica Mircea    schedule 31.08.2017