我创建了基于webrtc的视频聊天suing peerjs.
使用控件创建本地和远程视频元素:
local:'video id = [local_peer_id] autoplay ="true" controls ="true" >'
remote:和'video id = [remote_peer_id] autoplay ="true" controls ="true ">'
现在在视频聊天期间,如果本地用户静音auido远程用户听不到任何东西,其工作完美.
问题在于视频.如果本地用户暂停他自己的视频,他可以看到视频暂停,但远程用户仍然可以看到他的视频直播.
另一方面,如果远程用户暂停他的视频,本地用户仍然可以看到他的视频直播.
任何人都告诉我们需要做些什么才能部署这个特性
"暂停"和"恢复"视频对两个同行都是实时的?
nak*_*kib 11
您需要知道HTML标记和WebRTC流之间的区别......
您可以让流运行,而不将它们附加到任何HTML标记,并且每个对等方仍然可以发送和接收媒体.因此,每个对等体都可以将流附加到音频/视频标签,并且标签仅用作用于播放已在运行的流的播放器.
因此,如果您将HTML标记静音,则只会使播放器静音,而不是流.如果你想让任何东西对另一个对等体产生影响,你需要在流或对等连接上做一些事情.
特别是,要静音和恢复音频或视频,您需要切换媒体流中的媒体轨道
// create a button to toggle video
var button = document.createElement("button");
button.appendChild(document.createTextNode("Toggle Hold"));
button.onclick = function(){
mediaStream.getVideoTracks()[0].enabled =
!(mediaStream.getVideoTracks()[0].enabled);
}
Run Code Online (Sandbox Code Playgroud)
要暂停/恢复音频,请改用getAudioTracks().
归档时间: |
|
查看次数: |
10459 次 |
最近记录: |