我有一个包含音频和视频的流,就像apprtc一样。我必须停止视频轨道并运行音频轨道,例如从WebRTC发布网络摄像头,其他应用程序可以使用它。我该怎么做?
我开始使用以下内容:
pc.getLocalStreams()[0].getVideoTracks()[0].stop()
然而,这不起作用。
答案 0 :(得分:1)
我认为这应该符合您的要求:
stream.getAudioTracks()[0].enabled = false;
答案 1 :(得分:0)
track.enabled是使用(暂时)“静音”视频的正确方法;但它不会释放曲目/硬件。是否可以由应用程序共享硬件是操作系统问题。
目前唯一的方法是只请求第二个音频流(这意味着第二个请求)或仅从音频轨道构建新流,并停止()/释放第一个流,但是有还没有简单的方法可以在Firefox中使用(直到onnegotiationneeded支持重新邀请类型的操作,以及MediaStream基于轨道的构造函数,如果你想避免第二个权限请求 - 请注意,Chrome的权限模型可能会隐藏这一点)。