Javascript 检测html5视频标签中的视频/音频是否停止 使用
WebRTC、HTML5、JavaScript 描述 例如,在用户User1和User2之间有一个WebRTC视频呼叫。想象一下,User2点击一些静音按钮(类似于localStream.getAudioTracks()[0]。enabled=false)。在User1的客户端,现在没有音频,但视频仍在播放(这很好) 问题 我想检测User1是否不再从User1接收音频或视频,而不发送任何附加信号。我看不到任何API来检测像getBytesLoaded这样的音频或/和视频曲目,以检测丢失并显示适当的消息。我甚至找不到检测音频或/和视频是否停止的功能Javascript 检测html5视频标签中的视频/音频是否停止 使用,javascript,html,audio,video,webrtc,Javascript,Html,Audio,Video,Webrtc,WebRTC、HTML5、JavaScript 描述 例如,在用户User1和User2之间有一个WebRTC视频呼叫。想象一下,User2点击一些静音按钮(类似于localStream.getAudioTracks()[0]。enabled=false)。在User1的客户端,现在没有音频,但视频仍在播放(这很好) 问题 我想检测User1是否不再从User1接收音频或视频,而不发送任何附加信号。我看不到任何API来检测像getBytesLoaded这样的音频或/和视频曲目,以检测丢失并显示适
Note: I don't think it is related to stop/pause events
谢谢 使用WebRTC,您可以定期在peerConnection实例中调用方法getStats
,并传递一个回调函数,该函数将与stats对象一起调用
在该对象中,您可以找到有关当前audioOutputLevel
的统计信息,如果您观察发送方静音麦克风(禁用音轨)时返回的值,您将看到较低的值
使用数据包数或字节数不会提供非常有用的信息,因为WebRTC实现了,因此您将看到许多数据包到达
总之,在不发送任何信号信息的情况下,唯一的方法是使用stats,您必须挖掘并找到一个有效的模式,因为您不会发现任何状态更改。答案是正确的(目前,可能是WebRTC将来将支持状态)。