如果视频/音频在HTML5视频标签停止检测(Detect if video/audio is sto

2019-10-19 04:10发布

运用

的WebRTC,HTML5,JavaScript的

描述

比如有用户用户1用户之间的WebRTC视频通话。 想象用户2击打一些静音按钮(它像localStream.getAudioTracks()[0] .enabled = FALSE)。用户1的客户端现在有没有音讯,但视频仍在继续(这是很好)。

问题

我想,如果音频或视频时不再从用户1 无需任何额外的信令收到用户1检测。 我看不到任何API来检测类似getBytesLoaded用于音频和/或视频跟踪检测丢失,并显示相应的信息。 我也找不到,甚至一个函数来检测是否音频和/或视频停止播放。

Note: I don't think it is related to stop/pause events

谢谢!

Answer 1:

使用的WebRTC getStats API ,你可以调用的方法getStats定期在等连接实例,并传递一个回调函数与统计对象,该对象将被调用。

在这个对象,你可以找到关于当前统计audioOutputLevel ,如果你看值时,发件人静音麦克风(禁用audioTrack),你会看到更低的值返回。

使用数据包的数量或字节数将不提供非常有用的信息,因为的WebRTC实现了舒适噪音 ,所以你会看到许多数据包到达。

综上所述,不发送任何信令信息,要做到这一点是使用统计数据的唯一途径,而你必须挖掘和发现工作的模式,因为你不会找到任何状态变化。



文章来源: Detect if video/audio is stopped in html5 video tag