2016-07-08 16 views
6

Próbuję uzyskać statystyki aplikacji webRTC do pomiaru przepustowości przesyłania audio/wideo. Sprawdziłem to question i znalazłem to bardzo przydatne; Jednak, gdy próbuję go użyć otrzymujęWebRTC: użycie getStats()

TypeError: Not enough arguments to RTCPeerConnection.getStats. 

myślę, że to z powodu w 2016 coś w WebRTC zostanie zmieniony i teraz są mediaStreamTracks; jednak zbudowałem projekt bez mediaStreamTracks i nie wiem jak zmienić tę funkcję, aby działała.

Czy masz jakieś pomysły? Dzięki za wsparcie!

UPDATE:

Moja rozmowa jest

peer.pc.onaddstream = function(event) { 
     peer.remoteVideoEl.setAttribute("id", event.stream.id); 
     attachMediaStream(peer.remoteVideoEl, event.stream); 
     remoteVideosContainer.appendChild(peer.remoteVideoEl); 
     getStats(peer.pc); 
}; 

i getStats() jest identyczny z tym link w rozdziale N.7.

+0

po kilka kodów. Zwłaszcza twoje wywołanie 'getStats()' – KRONWALLED

+2

'getStats()' potrzebuje parametru 'mediaStreamTrack' jako, jeśli sobie przypomnę. –

+0

Zaktualizowane pytanie! P.s: co jeśli zadzwonię do 'peer.getStats (null, function (...))'? – Diego

Odpowiedz

6

było kiedyś ponieważ użyłem WebRTC, problem to było, chrom i firefox realizowane inaczej (wierzę, że nadal robić to inaczej)

Firefox:

WebRTC Statystyki kartę jest about:webrtc

peerConnection.getStats(null).then(function(stats){... // returns a promise 

Chrome:

Zakładka statystyk webrtc to chrome://webrtc-internals/

peerConnection.getStats(function(stats){ // pass a callback function 

jeden sposób, aby obejść te problemy krzyżowe przeglądarki używa adapter.js

+2

Tak, Firefox implementuje go w [spec] (https://w3c.github.io/webrtc-stats), a Chrome nie. Zobacz [to pytanie] (https://github.com/webrtc/adapter/issues/5). - Tak, adapter.js pomaga w nawiązywaniu połączeń, ale pamiętaj, że nie zmienia nazw kluczy kluczy specyficznych dla Chrome [jeszcze] (https://github.com/webrtc/adapter/issues/5). – jib

+0

wielkie dzięki, działa! – Diego