Aktualizacje dźwięku i wideo w Chrome 61

François Beaufort
François Beaufort

Optymalizacje ścieżki wideo w tle (tylko MSE)

Aby oszczędzać baterię, Chrome wyłącza teraz ścieżki wideo, gdy film jest odtwarzany w tle (np. na niewidocznej karcie), jeśli korzysta z rozszerzeń Media Source Extensions (MSE).

Aby sprawdzić te zmiany, otwórz stronę chrome://media-internals i przefiltruj ją według właściwości „info”. Gdy karta zawierająca odtwarzany film stanie się nieaktywna, zobaczysz komunikat podobny do tego: Selected video track: [], który oznacza, że ścieżka wideo została wyłączona. Gdy karta stanie się ponownie aktywna, ścieżka wideo zostanie automatycznie ponownie włączona.

Panel dziennika na stronie chrome://media-internals
Rysunek 1. Panel logów na stronie chrome://media-internals

Osobom, które chcą zrozumieć, co się dzieje, przedstawiamy fragment kodu JavaScript, który pokazuje, co Chrome robi w tle.

    var video = document.querySelector('video');
    var selectedVideoTrackIndex;

    document.addEventListener('visibilitychange', function() {
      if (document.hidden) {
        // Disable video track when page is hidden.
        selectedVideoTrackIndex = video.videoTracks.selectedIndex;
        video.videoTracks[selectedVideoTrackIndex].selected = false;
      } else {
        // Re-enable video track when page is not hidden anymore.
        video.videoTracks[selectedVideoTrackIndex].selected = true;
      }
    });

Gdy ścieżka wideo jest wyłączona, możesz obniżyć jakość strumienia wideo. Wystarczy użyć interfejsu Page Visibility API, jak pokazano powyżej, aby wykryć, kiedy strona jest ukryta.

Oto niektóre ograniczenia:

  • Ta optymalizacja dotyczy tylko filmów, w których odległość między kluczowymi klatkami jest mniejsza niż 5 sekund.
  • Jeśli film nie zawiera ścieżek audio, zostanie automatycznie wstrzymany podczas odtwarzania w tle.

Błąd w Chromium

Automatyczne przełączanie filmu w tryb pełnoekranowy po obróceniu urządzenia

Jeśli obrócisz urządzenie do trybu poziomego podczas odtwarzania filmu w obszarze widoku, odtwarzanie automatycznie przełączy się na tryb pełnoekranowy. Obrócenie urządzenia do orientacji pionowej przywraca film do trybu okienkowego.

Pamiętaj, że możesz samodzielnie wdrożyć to zachowanie. (Patrz artykuł Odtwarzanie filmów w przeglądarce mobilnej).

Automatyczne przełączanie filmu w tryb pełnoekranowy po obróceniu urządzenia
Rysunek 2. Automatyczne przełączanie filmu na pełny ekran po obróceniu urządzenia

To magiczne zachowanie występuje tylko wtedy, gdy:

  • urządzenie to telefon z Androidem (nie tablet);
  • orientacja ekranu użytkownika jest ustawiona na „Autoobracanie”,
  • rozmiar filmu wynosi co najmniej 200 x 200 pikseli;
  • film korzysta z natywnych elementów sterujących,
  • film jest właśnie odtwarzany;
  • co najmniej 75% filmu jest widocznych (na ekranie);
  • orientacja obraca się o 90 stopni (a nie o 180 stopni);
  • nie ma jeszcze elementu pełnoekranowego.
  • ekran nie jest zablokowany za pomocą interfejsu Screen Orientation API,

Błąd w Chromium