javascript - webrtc 与 Firebase :how to fix black screen on ios/safari

标签 javascript firebase safari html5-video webrtc

我在我的网络应用程序中处理视频通话。我试过 [ https://github.com/webrtc/FirebaseRTC/tree/solution][1]
https://webrtc.org/getting-started/firebase-rtc-codelab 上的示例这里。

它适用于这些浏览器:

  • 桌面/ Chrome ----->桌面/ Chrome
  • 桌面/chrome----->桌面/火狐
  • 桌面/火狐----->桌面/火狐

  • 但不是 Safari,我只能看到黑屏。它不起作用。
  • 桌面/chrome---->ios/safari
  • ios/safari---->ios/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/

    相关文章:

    javascript - 使用 .fill() 将 .push() 值传递给 JavaScript 数组 (n) 次?

    firebase - 通过 Firebase 仪表板(或 cli)禁用 Firebase 的云功能

    javascript - iOS8 Safari 上的 TypeError : Attempted to assign to readonly property.

    jquery - 未闭合的方括号不会在 jquery 中引发错误

    javascript - 使用 ajax 的 jQuery 调用没有响应,没有错误

    javascript - 如何在 javascript 中创建一个 if 语句,该语句将在变量未定义时运行?

    swift - 导航回 tableview View Controller 时更新 tableview 而不是整个重新加载

    javascript - useEffect 中的 inputFile.current.click() 在 safari 中不起作用

    javascript - 使用 JQuery/Javascript 获取 2 个日期之间的天数时格式化日期

    ios - Cordova-plugin-firebase : Cannot run on iOS 12. 2 但在 android 和 iOS 10.3.3 上运行没有任何问题