9

MediaStreamTrackWebRTC アプリケーションでローカル ビデオをミュートする機能を実装しようとしています。これが私がこれにアプローチしている方法です:

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 では実装されていないようです。

ローカルビデオをミュートする方法はありますか:

  1. カメラのライトを消す
  2. オーディオトラックを失っていませんか?
4

3 に答える 3