0

私の Web ページには、画面共有ストリームがあります。パラメータは次のとおりです。

{
    audio: false,
    video: mandatory {
               chromeMediaSource: 'desktop',
               chromeMediaSourceId: IM.screenSourceId
              ...
           }
     ...
}

私の Chrome 拡張機能には、バックグラウンド スクリプトに次のコードが含まれています。

desktop_id = chrome.desktopCapture.chooseDesktopMedia (session, port.sender.tab, onAccessApproved);

ページの [キャンセル] ボタンをクリックすると、バックグラウンド スクリプトのリスナー関数がトリガーされます。

chrome.desktopCapture.cancelChooseDesktopMedia (desktop_id);

in chrome://extensionsof console.logto see desktop_idreally は の整数値です1

でもうまくいかないようで、いろいろなバージョンの Chrome を試してみましたが、それでもうまくいきません。画面共有を解除するにはどうすればよいですか?

4

1 に答える 1

2

chrome.desktopCapture.cancelChooseDesktopMediaまだ開いている場合は、選択ダイアログを閉じます。ユーザーが記録のターゲットを選択した後、メディア ストリームは停止しません。

画面の記録を停止する場合は、.stop()代わりにメディア ストリームのメソッドを呼び出します。例えば

navigator.webkitGetUserMedia({
    audio: false,
    video: {
        mandatory: {
            chromeMediaSource: 'desktop',
            chromeMediaSourceId: IM.screenSourceId
        }   
    }   
}, function onSuccess(stream) {
    // Example: end the recording after 10 seconds.
    setTimeout(function() {
        stream.stop();
    }, 10000);
}, function onError() {
    // Handle error
}); 
于 2015-02-09T08:31:17.093 に答える