WebRTC 检查摄像头和麦克风是否在 Chrome 上使用

WebRTC Check if camera and microphone are in use on Chrome

是否可以检查其他 PC 应用程序(如 Skype)是否正在使用摄像头和麦克风?

问题是,我能够获取流对象并启动两台计算机之间的连接,但是没有视频或声音,因为这些设备正在被 Skype 使用。我需要的是一种检测设备是否忙碌的方法,以便告诉用户关闭正在使用摄像头和麦克风的应用程序

我知道可以使用 MediaStreamTrack.getSources() 检查 PC 上是否存在任何设备,但是它不提供有关设备状态的任何信息。

没有直接的方法,但是如果检查设备是否存在,getUserMedia 应该抛出错误 and/or return 少于 audio/video 个曲目。

可以从 MediaStreamTrack.getSources 或(最好)符合规范的 navigator.mediaDevices.enumerateDevices.

检测设备

检测冻结或黑帧的testrtc project has a test that detects silence from a microphone here that could be useful in determining if the audio track returned is silent, and a similar video test