MediaStreamTrack
WebRTC アプリケーションでローカル ビデオをミュートする機能を実装しようとしています。これが私がこれにアプローチしている方法です:
function muteVideo() {
if (this._localStream && this._localStream.getVideoTracks().length > 0) {
this._localStream.getVideoTracks()[0].enabled = false;
}
}
Firefox では、<video>
ローカル ストリームがアタッチされている要素は、ミュート時に黒を正しくレンダリングします。Chrome では、黒さはレンダリングされませんが、画像はフリーズします。ただし、両方のブラウザで、カメラの緑色のライトが点灯したままになります。これは明らかに望ましくない動作です。(ビデオのミュート時に、アプリケーションが実際にカメラから切断されることをユーザーに確認してもらいたいです。)
するとカメラのライトが消えますthis._localStream.stop()
が、音声も消えます。
Media Capture 仕様の現在のドラフトMediaStreamTrack.stop()
ではこの方法について言及されていますが、現在 Chrome と Firefox では実装されていないようです。
ローカルビデオをミュートする方法はありますか:
- カメラのライトを消す
- オーディオトラックを失っていませんか?