我在我的网络应用程序中进行视频通话。我 在https://webrtc.org/getting-started/firebase-rtc-codelab上尝试了 [ https://github.com/webrtc/FirebaseRTC/tree/solution][1]示例。
它适用于以下浏览器:
但不是 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)
我该如何解决这个问题?
我有一个用 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)
我想了解为什么会发生这种情况?