我在我的网络应用程序中处理视频通话。我试过 [ https://github.com/webrtc/FirebaseRTC/tree/solution][1]
https://webrtc.org/getting-started/firebase-rtc-codelab 上的示例这里。
它适用于这些浏览器:
但不是 Safari,我只能看到黑屏。它不起作用。
实际上我看到黑屏,但我认为 safari 获得媒体流但无法显示。
我在codelab中有这段代码:
peerConnection.addEventListener('track', event => {//other pc track
console.log('Got remote track:', event.streams[0]);
event.streams[0].getTracks().forEach(track => {
console.log('Add a track to the remoteStream:', track);
remoteStream.addTrack(track);
});
});
我该如何解决这个问题?
最佳答案
我解决了它在 safari 上工作的问题,我现在可以得到 videStream。
我在codelab中更改了这段代码
peerConnection.addEventListener('track', event => {//other pc track
console.log('Got remote track:', event.streams[0]);
event.streams[0].getTracks().forEach(track => {
console.log('Add a track to the remoteStream:', track);
remoteStream.addTrack(track);
});
});
至
peerConnection.addEventListener('track', event => {//other pc track
console.log('Got remote track:', event.streams[0]);
document.querySelector('#remoteVideo').srcObject = event.streams[0];
console.log(event.streams[0]);
remoteStream = event.streams[0];
});
我认为 safari 不支持 remoteStream.addTrack(track );(remoteStream is a MediaStream obj) 我搜索了这个问题找不到任何东西。
关于javascript - webrtc 与 Firebase :how to fix black screen on ios/safari,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60233093/