2012-04-26 44 views
0

我真的很想嘗試幾個小時,自己找到答案,但我不知道如何解決這個問題。我絕對是新來的JavaScript。添加Eventlistener來控制HTML5音頻

我的任務:我想用JavaScript控制HTML5-Audio元素。我的第一步是:

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Test</title> 
<script type="text/javascript"> 
document.getElementById("myAudio").addEventListener('onpause', function(){ 
alert("Paused!"); 
getElementById("myAudio").play(); 
alert("Playing again!"); 

}, false); 

</script> 
</head> 

<body> 

<audio id="myAudio" controls autobuffer > 
<source src="Test.mp3" /> 

</audio> 
</body> 

不幸的是,這是行不通的。似乎沒有任何事件叫...

我想知道的另一件事是,Chrome確實顯示了audiocontrol。但Firefox(FF 11)只顯示一個空白頁面。

我只是不明白,我花了幾個小時,嘗試了很多選擇......我真的希望有人能幫助我。

非常感謝!

回答

0

Firefox不支持MP3格式。使用其他音頻文件格式,如OGG。

添加一個新的源代碼與此不同的文件格式:

<audio id="myAudio" controls autobuffer > 
    <source src="Test.mp3" type="audio/mpeg" /> 
    <source src="Test.ogg" type="audio/ogg" /> 
</audio> 

https://developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements#MPEG_H.264_%28AAC_or_MP3%29

利用現有的在線/離線工具之一,將文件轉換成OGG格式:

+0

謝謝!這解釋了爲什麼這不適用於Firefox! 我最初的目的是用JavaScript控制HTML5-Audio元素。不幸的是,這與我上面插入的代碼無關。似乎沒有事件要求......我做錯了什麼? – HazelNut 2012-04-26 14:35:01

+0

「暫停」是事件的正確名稱,而不是「onpause」 http://dev.w3.org/html5/spec/media-elements.html#mediaevents – mems 2012-04-26 14:59:19

+0

謝謝!我在看這裏,不幸的是:http://www.w3schools.com/html5/html5_ref_eventattributes.asp – HazelNut 2012-04-26 15:21:48