Ulepszenia udostępniania ekranu w Chrome 109

François Beaufort
François Beaufort
Elad Alon
Elad Alon

Aplikacje internetowe mogą już korzystać z getDisplayMedia() do przechwytywania kart, okien i ekranów w ramach MediaStream. W Chrome 109 znajdziesz te ulepszenia:

  • Po rozpoczęciu udostępniania ekranu zaznaczenie warunkowe umożliwia aplikacji internetowej przechwytywanie decyzji o tym, czy przeglądarka ma zaznaczyć przechwyconą kartę lub okno i czy ma ona pozostać aktywna.
  • Opcja suppressLocalAudioPlayback określa, czy dźwięk odtwarzany na karcie będzie odtwarzany przez lokalne głośniki użytkownika.

Skupienie warunkowe

Dzięki koncentracji warunkowej aplikacje internetowe mogą teraz kontrolować, czy przechwycona karta lub okno będą aktywne po rozpoczęciu przechwytywania, czy strona przechwytywania ma pozostać aktywna.

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

Więcej informacji znajdziesz w artykule na temat lepszego udostępniania ekranu dzięki opcji skupienia warunkowego.

Wycisz odtwarzanie lokalnego dźwięku

Współpracownicy często gromadzą się w pomieszczeniu, w którym jedna z nich prezentuje z laptopa urządzenie do obsługi konferencji z osobnym monitorem i głośnikami w pokoju. Osoba prowadząca zwykle wycisza swojego laptopa i korzysta z głośników zewnętrznych, które są często głośniejsze. Zapewnia to też synchronizację dźwięku z obrazem. Dzięki ograniczeniu dotyczącym dźwięku suppressLocalAudioPlayback oszczędzasz czas. Gdy ma wartość true, oznacza to, że po rozpoczęciu nagrywania przeglądarka powinna przestać przekazywać dźwięk do lokalnych głośników. Domyślna wartość tego ograniczenia to 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

W momencie tworzenia tego tekstu usługa suppressLocalAudioPlayback nie jest jeszcze obsługiwana przez usługę applyConstraints(). Zobacz Błąd 1381959.

Podziękowania

Baner powitalny autorstwa: Brett Jordan.

Dziękujemy Rachel Andrew za przeczytanie tego artykułu.