Aktualizacje dźwięku i wideo w Chrome 61

François Beaufort
François Beaufort

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

Aby wydłużyć czas pracy na baterii, Chrome wyłącza teraz ścieżki wideo, gdy film jest odtwarzany w tle (np. na niewidocznej karcie), jeśli film korzysta z rozszerzeń źródła multimediów (MSE).

Aby sprawdzić te zmiany, otwórz stronę chrome://media-internals i przefiltruj ją według właściwości „info”. Gdy karta z odtwarzanym filmem stanie się nieaktywna, zobaczysz komunikat podobny do Selected video track: [], który wskazuje, ż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 dziennika na stronie chrome://media-internals

Jeśli chcesz się dowiedzieć, co się dzieje, możesz sprawdzić kod JavaScriptu, który pokazuje, co mniej więcej robi Chrome 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;
      }
    });

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

Oto kilka ograniczeń:

  • Ta optymalizacja dotyczy tylko filmów, w których odległość między ramkami wynosi mniej niż 5 s.
  • Jeśli film nie zawiera żadnych ścieżek audio, zostanie automatycznie wstrzymany podczas odtwarzania w tle.

Błąd w Chromium

automatyczne wyświetlanie filmów w trybie pełnoekranowym po obróceniu urządzenia;

Jeśli podczas odtwarzania filmu w widoku przekręcisz urządzenie w orientację poziomą, odtwarzanie automatycznie przełączy się w tryb pełnoekranowy. Obrócenie urządzenia do orientacji pionowej spowoduje, że film wróci do trybu pełnoekranowego.

Pamiętaj, że możesz samodzielnie zaimplementować to zachowanie ręcznie. (zobacz artykuł Odtwarzanie filmów w przeglądarce mobilnej).

automatyczne wyświetlanie filmów w trybie pełnoekranowym po obróceniu urządzenia;
Rysunek 2. Automatyczne wyświetlanie filmów w pełnym ekranie po obróbieniu urządzenia

To magiczne zachowanie występuje tylko wtedy, gdy:

  • urządzenie to telefon z Androidem (a nie tablet),
  • orientacja ekranu użytkownika jest ustawiona na „Autoobracanie”;
  • rozmiar filmu wynosi co najmniej 200 x 200 pikseli,
  • film korzysta z elementów sterujących domyślnych
  • film jest właśnie odtwarzany,
  • co najmniej 75% filmu jest widoczne (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