Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Mobilne przeglądarki(android), a element audio
radziopoke
post
Post #1





Grupa: Zarejestrowani
Postów: 125
Pomógł: 14
Dołączył: 2.06.2010

Ostrzeżenie: (0%)
-----


Mam kłopot z elementem audio na przeglądarkach mobilnych.
  1. <!DOCTYPE html>
  2. <head>
  3. <meta charset="utf-8" />
  4. <script type="text/javascript" src="script/jquery-1.7.1.min.js"></script>
  5. <script type="text/javascript">
  6. var test = new Audio();
  7. test.src = 'intro.mp3';
  8. $(test).on('canplaythrough', function(){
  9. test.play();
  10. });
  11. </script>
  12. </head>
  13. <body>
  14.  
  15. </body>
  16. </html>

to jest skrypt, który próbuję odpalić na przykład na mobilnym chromie. Niestety nic nie słyszeć choć nie powinno być z tym problemów (przeglądarka obsługuje elementy audio z formatem mp3). O dziwo gdy dodam przycisk i dam mu możliwość odtworzenia tego audio to nie ma z tym najmniejszych problemów. Żadna inna funkcja (oprócz kilkania w przycisk) nawet setTimeout ustawiona na 10sekund nie może odtworzyć dzwięku (w tym czasie na pewno dzwięk byłby załadowany). Więc zastanawia mnie dlaczego tylko funkcja "click" działa.
a i żeby nie było zdarzenie 'canplaythrough' działa (wstawiłem tam alerta i został wyświetlony).
Przeglądarki konputerowe, nie mają najmniejszych problemów z uruchomieniem tego skryptu. Czy da się jakąś właczyć dzwięk bez click-a?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Dzieje się tak dlatego że twórcy przeglądarek mobilnych stwierdzili że muszą ograniczyć takie autoplay dla dobra transferu użytkownika. Jakiś czas temu było kilka tricków na ominięcie tego, jak trigger który wywoływał click na danym elemencie, ale z każdym patchem twórcy mobilnych przeglądarek blokowali takie możliwości. Na chwilę obecną jest ciężko aby na wszystkich przeglądarkach to działało, użytkownik musi wykonać jakąś interakcje inaczej samo niestety to nie zagra. Podobnie jest z fullscreen dla którego również musi wystąpić interakcja, tyle że tutaj kwestia dotyczy wszystkich platform. Bo normalnie mógłbyś sobie ten autoplay ustawić jako atrybut/właściwość:

  1. <audio controls autoplay>
  2. <source src="intro.mp3" type="audio/mpeg">
  3. </audio>


Ale mobilne przeglądarki również to pomijają. Także niestety, na chwile obecną tego nie obejdziesz, a nawet jeżeli ci się to uda, w następnych aktualizacjach przeglądarek mobilnych mogą to załatać i znów będziesz bez ficzera.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 12:29