Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 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
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Spróbuj:
Kod
$(document).ready(function() {
    var test = new Audio();
    test.src = 'intro.mp3';
    $(test).on('canplaythrough', function() {
        test.play();
    });
});
Go to the top of the page
+Quote Post
radziopoke
post
Post #3





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

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


Niestety, to również nie pomaga. Tez to wczesniej testowałem...
Edit:
O dziwo jak już raz uruchomię przyciskiem muzykę to już dalej mogę ją bez problemu kontrolować za pomocą takich funkcji jak setTimeout. A nawet dodatkowe obiekty audio się już też uruchamiają bez pomocy przycisku. Więc zastanawia mnie tylko kwestia dlaczego najpierw musze mieć jakiś rozrusznik...

Ten post edytował radziopoke 21.08.2014, 12:51:08
Go to the top of the page
+Quote Post
by_ikar
post
Post #4





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
radziopoke
post
Post #5





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

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


dzięki (IMG:style_emoticons/default/smile.gif)
Tworzę pewną gierkę w której dźwięk ma lekkie znaczenie. Ale zrobiłem to na własny sposób. Gdy skrypt wychwyci, że muzyka nie wystartowała to na całym ekranie pokazuje się przycisk informujący o tym, że bez kliknięcia w dany przycisk nie ma muzyki przez co nie można uruchomić gry (IMG:style_emoticons/default/biggrin.gif)
Ale jeszcze raz dziękuję za rozwikłanie tej sprawy (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
by_ikar
post
Post #6





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

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


Jeżeli jest to gierka, to możesz napisać prostą aplikacje w której użyjesz wbudowanego silnika rendrowania, lub jakiegoś innego już gotowego, podasz na sztywno adres do strony i udostępnisz samą aplikacje. Ona będzie wtedy miała niewiele ponad kilkaset kb, taka aplikacja na każdą platformę, no a ty zyskasz większe możliwości nad swoją grą.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 2.10.2025 - 16:58