Dzięki MediaSession API możemy sterować listą odtwarzania spoza karty przeglądarki, która odtwarza dźwięk/wideo.
Przez to obsługa multimediów odtwarzanych przykładowo na stronie zespołu muzycznego jest dużo prostsza – użytkownik nie musi wracać na stronę i szukać na niej customowych przycisków.
W tym artykule zaimplementujemy bazową obsługę odtwarzania playlisty na stronie i jej kontrolę za pomocą MediaSession API.
Zarządzanie mediami
Na stronie umieścimy piosenki pobrane z serwisu Bensound, którymi będziemy chcieli zarządzać za pomocą nowego API.
Pod API udostępnianie przez przeglądarkę podepniemy utworzone wcześniej funkcje:
W momencie gdy użytkownik klika przycisk następny bądź poprzedni, następuje zatrzymanie odtwarzania aktualnie wybranej piosenki oraz wyzerowanie czasu odtwarzania. Następnie wyliczany jest indeks kolejnej piosenki do odtworzenia i jest ona odtwarzana.
Przyciski wyglądają następująco:
Dane do wyświetlenia na odtwarzacze pobierane są z zahardkodowanej struktury HTML. Wygląda ona tak:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<p>
<ahref="https://www.bensound.com/royalty-free-music/track/dubstep">Dubstep from BenSound</a>
MediaMetadata z którego dane wyświetlą się użytkownikowi.
Wygląd UI
Desktop
Na przeglądarce Chrome UI prezentuje się następująco:
I jest widoczne w prawym górnym rogu przeglądarki. Umożliwia sterowanie multimediami z dowolnej karty, niezależnie w której karcie są odtwarzane
Mobile (Android)
Na urządzeniu Android w przeglądarce Chrome UI wygląda tak:
Dostępny jest on, gdy rozwiniemy górny bar powiadomień (swipe palcem w dół). Niedogodnością jest to, że kliknięcie któregokolwiek przycisku zwija bar i przenosi nas do aplikacji, przez co nie da się multimediami sterować całkowicie spoza aplikacji
MediaSession API znajdzie zastosowanie głównie na stronach z bardzo dużą ilością multimediów, jak strony zespołów muzycznych. Sterowanie odtwarzaniem z zewnątrz jest czytelne dla użytkownika i praktyczne, szczególnie dla użytkowników desktopów.