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 odaklama özelliğini kullanarak, kayıt başladığında yakalanan sekmenin veya pencerenin odaklanıp odaklanmayacağını ya da yakalama sayfasının odaklanmaya devam edip etmeyeceğini 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 toplanarak birisinin dizüstü bilgisayarından özel bir monitör ve hoparlöre sahip oda içi konferans çözümüne sunum yapması yaygın 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 makalenin yazıldığı tarih itibarıyla applyConstraints()
ile kullanılamaz.
1381959 numaralı hataya bakın.
Teşekkür ederiz
Bu dokümanı inceleyen Rachel Andrew'a teşekkürler.