2012-08-17 9 views
7

Mam problem z częścią mojego kodu javascript w IE9.Błąd HTML5 audio IE9: nieoczekiwane wywołanie metody lub dostęp do właściwości

Po uruchomieniu strony pojawia się błąd: Niespodziewane wywołanie metody lub dostępu do właściwości.

To jest mój tag dźwięku w pliku html:

<audio controls loop preload id="musicGame"> 
    <source src="mp3/ambient.ogg" type="audio/ogg" /> 
    <source src="mp3/ambient.mp3" type="audio/mpeg" /> 
</audio> 

Dzwonię mój tag dźwięku w javascript tak:

musicGame = $('#musicGame')[0]; 

wtedy jestem zatrzymując go, bo mam niemy i muszę wstrzymać wszystkie utwory na mojej stronie, aby wyciszenie zadziałało.

musicGame.pause(); 

To tutaj IE9 zgłasza błąd.

Wszelkie pomysły, co może być nie tak?

+0

Zmiana napięcia wstępnego do preload = "auto". Czy to działa? Jak większość rzeczy, IE to wszystko wymyśla. – Rob

+0

Mam ten sam problem. Czy dowiedziałeś się, co go spowodowało? – mzedeler

+0

Czy dowiedziałeś się o problemie? Mam również ten sam problem. Dzięki! – nak

Odpowiedz

0

prace Mp3, problem, że IE ma gra .wav i .ogg

Pracuje w IE9 - Chrome - Safari i Firefox

var sound = new Audio("/pop.mp3"); 
sound.play(); 
0

Dodaj deklaracji DOCTYPE <!DOCTYPE html> do uruchomienia kodu HTML kod. Informuje przeglądarkę, jak renderować stronę w trybie zgodnym ze standardami. Teraz dźwięk HTML5 zadziała w IE9.

2

oog nie jest obsługiwana w IE .. mp3 jednak jest obsługiwana w IE9 + ..

Spróbuj ustawić atrybut preload od IE9 może mieć problemy z atrybutem preload, więc spróbuj i ustawić ją na preload="metadata"

<audio controls loop preload="metadata" id="musicGame"> 
    <source src="mp3/ambient.ogg" type="audio/ogg" /> 
    <source src="mp3/ambient.mp3" type="audio/mpeg" /> 
</audio> 
  • metadane: wskazuje, że są pobierane tylko metadane audio (np. Długość); Pozwala również przeglądarce na pobranie wystarczającej ilości pliku, aby pobrać metadane, takie jak rozmiar, wymiary i czas trwania.

Czasami preload="auto" może działać, ale trzeba będzie przetestować !?

może być określenie źródła dźwięku w audio elementów src atrybutu Zamiast bez dzieci source elementu

<audio src="mp3/ambient.mp3" controls autoplay loop id="musicGame"> 
    HTML5 audio not supported 
</audio> 

także używanego prawo DOCTYPE dla HTML5?

<!DOCTYPE html> 

A używasz odpowiedniego meta tag dla IE9 takiego?

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 

Czy próbowałeś też użyć numeru $('#musicGame')[0]?

document.getElementById("musicGame"); 

Przydatne linki zasobów:

+0

Jestem na łusce, więc nie mogę sprawdzić, czy to działa teraz. Nagroda zostanie zakończona za 3 dni. Odpowiedź jest jednak niejasna. Jeśli widzisz pytanie, nie chodzi o mp3, ponieważ jest ono zawarte w źródle. Mam wrażenie, że preload = "metadane mogą być czymś, ale będą musiały sprawdzić, kiedy wrócę we wtorek – Piddien

+0

mp3 jest tam jako przykład, aby spróbować użyć atrybutu źródłowego na tagu audio w porównaniu z użyciem elementu źródłowego. jeśli zauważysz różnicę, gdy będziesz miał czas, aby spojrzeć i przetestować –

Powiązane problemy