小编N_d*_*ign的帖子

webrtc 与 firebase:如何修复 ios/safari 上的黑屏

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

它适用于以下浏览器:

  • 桌面/镀铬----->桌面/镀铬
  • 桌面/铬----->桌面/火狐
  • 桌面/火狐----->桌面/火狐

但不是 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);
      });
    });
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

javascript safari html5-video webrtc firebase

4
推荐指数
1
解决办法
2899
查看次数

为什么可观察管道在组件中不起作用?

我有一个用 firebase/fireStore 制作的 observable。如果我在组件中订阅这个 observable,它就可以工作。但是如果我通过管道传输这个 observable,即使我期望它也不起作用。我没有收到任何错误。我的问题; 为什么它不起作用?

我的代码;

服务;

getLastSeans(uid) {
    return this.afs.doc<any>(`users/${uid}/lastseans/seansLive`).valueChanges();
  }
Run Code Online (Sandbox Code Playgroud)

成分;

用管道它不起作用

this.roomService.getLastSeans(this.userId).pipe(map(x=>{console.log(x);return x;}));
Run Code Online (Sandbox Code Playgroud)

如果我订阅它,它会像这样工作;

this.roomService.getLastSeans(this.userId).subscribe(x=>console.log(x));
Run Code Online (Sandbox Code Playgroud)

我想了解为什么会发生这种情况?

javascript observable rxjs firebase angular

3
推荐指数
1
解决办法
917
查看次数

标签 统计

firebase ×2

javascript ×2

angular ×1

html5-video ×1

observable ×1

rxjs ×1

safari ×1

webrtc ×1