1

共有するアプリケーションを選択せず​​に、getDisplayMedia({video:true}) のネイティブ スクリーン ピッカーを閉じることはできますか? 私の知る限り、共有されているトラックが停止すると、 track.stop() で自動的に閉じます。ただし、キャンセルを押したり、共有するアプリケーションを選択したりせずに、ネイティブのスクリーン ピッカーを閉じる必要がある場合があります。

スクリーン ピッカーの画像

4

1 に答える 1

1

ページを更新:

window.location = window.location.href;

これにより、すべてのブラウザーでこの粘着性のあるプロンプトが破棄されます。

Chrome では、プロンプトはモーダルですが、タイムアウトを使用したこのデモは私にとってはうまくいきます。

const wait = ms => new Promise(resolve => setTimeout(resolve, ms));

button.onclick = async () => {
  const stream = await Promise.race([
    navigator.mediaDevices.getDisplayMedia({video: true}),
    wait(5000)
  ]);
  if (!stream) {
    window.location = window.location.href;
  }
  video.srcObject = stream;

もちろん、これはユーザーがピッカーを使用している間にピッカーを切り離してしまうリスクがあります。

于 2019-11-15T15:43:58.760 に答える