Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z odtwarzaniem dźwięku w przeglądarce
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
adrianpl20
Witam. Mam problem z odtwarzaniem krótkiego dźwięku w przeglądarce po wystąpieniu jakiejś akcji. Dźwięk działa, dopiero gdy kliknę na cokolwiek na stronie, a gdy wejdę na stronę/odświeżę ją i nic nie kliknę, to dźwięku nie słychać. Nie mam pojęcia co to może być, próbowałem robić coś w stylu .focus() i .click() na pierwszym elemencie obejmującym całą stronę (#page), a także na obiekcie "window", ale nic to nie pomogło.

[JAVASCRIPT] pobierz, plaintext
  1. function playSound() {
  2. var mp3Source = '<source src="/media/sound1.mp3" type="audio/mpeg">';
  3. var embedSource = '<embed hidden="true" autostart="true" loop="false" src="/media/sound1.mp3">';
  4. document.getElementById('sound-container').innerHTML = '<audio autoplay="autoplay">' + mp3Source + embedSource + '</audio>'; // #sound-container to pusty div na samym końcu strony
  5. }
[JAVASCRIPT] pobierz, plaintext


Próbowałem też używać tego kodu z internetu (oczywiście po odpowiednim dopasowaniu do swojej struktury):
var media = document.getElementById("YourVideo");
[JAVASCRIPT] pobierz, plaintext
  1. const playPromise = media.play();
  2. if (playPromise !== null){
  3. playPromise.catch(() => { media.play(); })
  4. }
[JAVASCRIPT] pobierz, plaintext

ale nic to nie zmieniło, a dodatkowo catch() wykonywało się non stop i przeglądarkę mi zawieszało biggrin.gif

Oczywiście próbowałem też odtwarzania przez klasę Audio, ale w konsoli wywala mi błąd "Uncaught (in promise) DOMException"
[JAVASCRIPT] pobierz, plaintext
  1. var audio = new Audio('audio_file.mp3');
  2. audio.play();
[JAVASCRIPT] pobierz, plaintext


Ktoś coś wie? smile.gif
adrianpl20
Więc jak to ominąć? Facebook, Badoo i inni radzą sobie jakoś z tym, ale nie mogę tego znaleźć w ich kodzie.
Player SWF raczej odpada. Chciałbym dźwięk odtwarzać gdy przyjdzie nowa wiadomość do użytkownika, ale chciałby by to działało od razu (bez komplikacji), a nie dopiero gdy użytkownik kliknie w coś na stronie.

ktoś coś? biggrin.gif
trueblue
Po pierwszej interakcji z użytkownikiem pozostałe dźwięki można odtwarzać z kodu.
gitbejbe
ja pie****.... chyba od roku głowie się co jest nie tak z moim banerem video na stronie, że filmik nie odpala się przy pierwszej wizycie. Ile ja się nakombinowałem... w końcu się poddałem, w niemocy zrzuciłem wine na wordpressa bo już na nic innego nie szło i odłożyłem problem... a tutaj chodziło o dodanie "muted" exclamation.gif! Filmik jest bez dźwięku, za cholere bym tego nie obczaił. Ja pitole dobrze ze to przeczytałem ! haha
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.