加入者のオーディオがブロックされている場合のカスタムUIエレメントの表示

ブラウザによっては、オーディオの再生が自動的にブロックされ click イベントで、加入者のオーディオ再生が開始されます。これらのブラウザには、Safari、Firefox 66+、Chrome 71+が含まれます。

オーディオ再生がブロックされている場合、Subscriber オブジェクトはオーディオ再生ボタンを表示します。サブスクライバーのデフォルトのオーディオ再生ボタンを無効にし、ユーザーがクリックしてオーディオ再生を開始する独自の UI 要素を表示することができます。

デフォルトのオーディオ再生ボタンの表示を無効にするには style.audioBlockedDisplayMode のoptionsパラメータの Session.subscribe() メソッドを使用する。

var subscriberOptions = {
    style: { audioBlockedDisplayMode: "off" }
  };
var subscriber = session.subscribe(stream,
  'subscriber-element-id', // Replace with the replacement element ID
  subscriberOptions
);

のイベントリスナーを追加する。 audioBlocked そして audioUnbocked サブスクライバによってディスパッチされるイベントを使用して、カスタムUIエレメントを表示したり非表示にしたりします(オーディオを再生するためにクリックするように使用者に指示します):

subscriber.on({
  audioBlocked: function(event) {
    // display custom UI
  },
  audioUnblocked: function(event) {
    // hide custom UI
  }
});

ユーザーがカスタムUIエレメントをクリックしたら、OTを呼び出します。unblockAudio() メソッドを使用する:

customElement.addEventListener('click', async () => {
  try {
    await OT.unblockAudio();
  } catch (err) {
    console.error('Unblocking audio failed.', err);
    return;
  }
  console.log('Unblocked audio successfully.');
});