Peningkatan fitur berbagi layar di Chrome 109

François Beaufort
François Beaufort

Aplikasi web sudah dapat menggunakan getDisplayMedia() untuk merekam tab, jendela, atau layar sebagai MediaStream. Mulai Chrome 109, Anda dapat memanfaatkan peningkatan berikut:

  • Saat berbagi layar dimulai, Fokus Bersyarat memungkinkan aplikasi web perekaman untuk mengontrol apakah browser memfokuskan tab atau jendela yang direkam, atau apakah tab perekaman tetap aktif.
  • Opsi suppressLocalAudioPlayback mengontrol apakah audio yang diputar di tab akan diputar dari speaker lokal pengguna.

Fokus Bersyarat

Dengan menggunakan Fokus Bersyarat, aplikasi web kini dapat mengontrol apakah tab atau jendela yang diambil akan difokuskan saat pengambilan dimulai, atau apakah halaman pengambilan harus tetap difokuskan.

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");
}

Lihat Berbagi layar yang lebih baik dengan Fokus Bersyarat untuk mengetahui informasi selengkapnya.

Menyembunyikan pemutaran audio lokal

Rekan kerja biasanya berkumpul di satu ruangan sehingga salah satu dari mereka dapat melakukan presentasi dari laptop ke solusi konferensi dalam ruangan dengan monitor dan speaker khusus. Presentator biasanya akan membisukan laptopnya sendiri, dan menggunakan speaker eksternal yang sering kali lebih keras; hal ini juga memastikan audio sinkron dengan video. Batasan audio suppressLocalAudioPlayback menghemat waktu di sini. Jika disetel ke true, ini menunjukkan bahwa browser harus berhenti meneruskan audio ke speaker lokal saat perekaman dimulai. Nilai default untuk batasan ini adalah false.

// 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

Pada saat penulisan, suppressLocalAudioPlayback tidak berfungsi dengan applyConstraints(). Lihat bug 1381959.

Ucapan terima kasih

Terima kasih kepada Rachel Andrew yang telah meninjau dokumen ini.