2012-10-06 15 views
5

Mam skonfigurowany serwer IceCast2, który może przesyłać strumieniowo ogg lub mp3, zarówno przy prędkości 192 kb/s.Odtwarzanie muzyki strumieniowej zatrzymuje się, gdy nowa piosenka rozpoczyna korzystanie z tagu audio html5 w przeglądarce Chrome i Firefox

w HTML używam:

<audio controls autoplay> 
    <source src="http://site.com:8000/mount1.ogg" type="audio/ogg"> 
    <source src="http://site.com:8000/mount2.mp3" type="audio/mp3"> 
    Your browser does not support the audio element. 
</audio> 

Ale w Chrome 22/Firefox 13 za każdym razem rozpoczyna się nowy utwór, gracz zatrzymuje odtwarzanie. W IE10 kontynuuje grę bez żadnego problemu. Myślę, że może to mieć coś wspólnego z tym, że Chrome i Firefox używają źródła ogg, podczas gdy IE używa mp3. Wygląda na to, że występuje problem z Operą 12 podczas odtwarzania 192 kb/s (muzyka jest słyszana w sakradzie), przełączyłem się na 128, a następnie działało płynnie.

Ktoś wie, jak to naprawić?

Dzięki za pomoc!

+1

Czy szukasz słuchacza, który czeka na "zakończone" Jest to bardzo przydatne: [html5 audio stan gry] (http://html5doctor.com/html5-audio-the-state-of-play/# events), Zawsze można uruchomić następny utwór po zakończeniu pierwszego utworu – Eruant

+0

dzięki za link, to jest bardzo ładne: http://jplayer.org/HTML5.Media.Event.Inspector/ –

Odpowiedz

4

Wysyłanie tego jako tymczasowy hack, dopóki ktoś nie udzieli lepszej odpowiedzi.

W Chrome MEDIA_ERR_DECODE jest wyrzucany, gdy odtwarzanie zatrzymuje się, podczas gdy w przeglądarce Firefox zatrzymuje się po prostu bez żadnego błędu.

Zmieniłem src do currentSrc a następnie nazywa play() w onerror i onended imprezy, ale dźwięk jest przerywany przed wznowieniem gry. Musi być lepszy sposób.

/* jQuery - run on document ready */ 
$(function() 
{ 
    var audioElement = $('#audioPlayer')[0]; 

    audioElement.onended = audioElement.onerror = function() 
    { 
     audioElement.src = audioElement.currentSrc; 
     audioElement.play(); 
    }; 
}); 
+1

Răzvan: Czy kiedykolwiek dowiedziałeś się, dlaczego twoje strumienie to robią? Mam ten sam problem i sądzę, że gdyby problem dotyczył ogólnie strumieni .ogg, byłby lepiej udokumentowany niż dwa pytania, które znalazłem. – Dmitri

+0

@Dmitri: Nie dowiedziałem się niczego nowego. Zakładam, że ma to związek z tym, co zostało zaimplementowane w odniesieniu do html5 audio w tych przeglądarkach, w których nie działa. –

+0

Ten hacked mnie uratował. Zastanawiam się, jak naprawić w Chrome. Szukałem odtwarzacza opartego na technologii flash, ale większość nie działa. – JavaDev

-1

Nie musisz robić tak wiele, jak wspomniano powyżej^Jedynym problemem, który widzę w twoim kodzie jest to, że właśnie napisałeś auto play. Musisz zrobić to autoplay = true;

Powiązane problemy