Web uygulamaları, sekmeleri, pencereleri veya ekranları MediaStream olarak yakalamak için zaten getDisplayMedia()
kullanabilir. Chrome 109'dan itibaren aşağıdaki iyileştirmelerden yararlanabilirsiniz:
- Ekran paylaşımı başladığında Koşullu Odak, yakalama web uygulamasının tarayıcıda yakalanan sekmenin mi yoksa pencerenin mi odağa alınacağını veya yakalama sekmesinin etkin kalıp kalacağını kontrol etmesine olanak tanır.
suppressLocalAudioPlayback
seçeneği, sekmede çalan sesin kullanıcının yerel hoparlörlerinden çalınıp çalınmayacağını kontrol eder.
Koşullu Odak
Web uygulamaları artık Koşullu Odak özelliğini kullanarak, yakalanan sekmenin veya pencerenin yakalama başladığında odaklanılıp odaklanmayacağını ya da yakalama sayfasının odakta kalıp kalmayacağını kontrol edebilir.
const controller = new CaptureController();
// Prompt the user to share a tab, a window or a screen.
const stream =
await navigator.mediaDevices.getDisplayMedia({ controller });
const [track] = stream.getVideoTracks();
const displaySurface = track.getSettings().displaySurface;
if (displaySurface === "browser") {
// Focus the captured tab.
controller.setFocusBehavior("focus-captured-surface");
} else if (displaySurface === "window") {
// Do not move focus to the captured window.
// Keep the capturing page focused.
controller.setFocusBehavior("no-focus-change");
}
Daha fazla bilgi için Koşullu Odak ile daha iyi ekran paylaşımı başlıklı makaleyi inceleyin.
Yerel ses oynatmayı engelleme
İş arkadaşlarının bir odada toplanıp dizüstü bilgisayarından, özel monitör ve hoparlörlere sahip oda içi konferans çözümü olması sık karşılaşılan bir durumdur. Sunucu genellikle kendi dizüstü bilgisayarının sesini kapatır ve genellikle daha yüksek sesli olan harici hoparlörleri kullanır. Bu sayede ses, videoyla senkronize olur. suppressLocalAudioPlayback
ses kısıtlaması burada zamandan tasarruf sağlar. true
olarak ayarlandığında, kayıt başladığında tarayıcının yerel hoparlörlere ses aktarmayı durdurması gerektiğini belirtir. Bu kısıtlamanın varsayılan değeri false
'tür.
// Prompt the user to share a tab, a window or a screen with audio.
// If successful, stop the captured audio from being played out over
// the local device's speakers.
const stream = await navigator.mediaDevices.getDisplayMedia({
audio: { suppressLocalAudioPlayback: true },
});
const [audioTrack] = stream.getAudioTracks();
const settings = audioTrack.getSettings();
console.log(settings.suppressLocalAudioPlayback); // true
suppressLocalAudioPlayback
, bu yazının yazıldığı sırada applyConstraints()
ile çalışmamaktadır.
Hata 1381959'a bakın.
Teşekkür ederiz
Bu dokümanı inceleyen Rachel Andrew'a teşekkürler.