MediaTrackSettings: restrictOwnAudio 屬性
MediaTrackSettings 字典的 restrictOwnAudio 屬性用於控制是否從螢幕捕獲中過濾掉源自捕獲選項卡(capturing tab)的系統音訊,從而在某些情況下實現更乾淨的螢幕錄製。
例如,如果正在捕獲的網頁本身正在播放嵌入式音訊或影片,那麼該音訊將被包含在捕獲中。這可能會導致不希望的回聲或干擾來自其他選項卡或應用程式的預期音訊源,因此將其從捕獲中移除是可取的。
值
這是一個布林值,其中 true 啟用捕獲選項卡的系統音訊限制,false 則停用該限制。
如果值為 true,使用者代理將嘗試移除由呼叫 MediaDevices.getDisplayMedia() 來啟動螢幕捕獲的選項卡生成的任何音訊。如果透過處理移除音訊失敗,使用者代理可能會排除來自捕獲選項卡的所有音訊。
注意:如果捕獲的顯示錶面不包含系統音訊,此設定將不起作用。
示例
以下函式設定了一個約束物件,該物件為呼叫 getDisplayMedia() 指定了選項。它會新增 restrictOwnAudio 約束(請求從螢幕捕獲中過濾掉源自捕獲選項卡的系統音訊),前提是該約束已知被瀏覽器支援。然後,透過呼叫 getDisplayMedia() 並將返回的流附加到由變數 videoElem 引用的 <video> 元素來啟動捕獲。
js
async function capture() {
const supportedConstraints = navigator.mediaDevices.getSupportedConstraints();
const displayMediaOptions = {
audio: {},
};
if (supportedConstraints.restrictOwnAudio) {
displayMediaOptions.audio.restrictOwnAudio = true;
}
try {
videoElem.srcObject =
await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);
} catch (err) {
/* handle the error */
}
}
規範
| 規範 |
|---|
| 螢幕捕獲 # dom-mediatrackconstraintset-restrictownaudio |
瀏覽器相容性
載入中…