2012-10-21 12 views
1

控制當我告訴他們通過javascript時,我試圖做出幾個音頻元素在HTML播放音樂。當<Audio>播放和停止通過JavaScript

這裏是我的html:

<div id="pixelbutton" onClick="musicplay1()"> </div> 

<audio id="song1" src="audio/ruins.wav" autostart=false hidden=true> </audio> 

而且我的javascript:

function musicplay1() { 
var song1 = document.getElementById("song1"); 
song1.setAttribute('autostart', 'true'); 
} 

音頻是一個很好的理由,所以請饒了我的「上帝啊,真的嗎?你把聲音在網頁上?這真的很煩人。「註釋。

問題是:我怎樣才能在javascript中創建一個函數來控制我的html音頻標籤播放的時間?

我對JavaScript很陌生,所以任何幫助表示讚賞。

+2

我給你一個「哦,上帝,真的!?」因爲當你談論JavaScript時,你說你剛接觸java。 –

回答

1

你還沒有問一個問題,但我可以看到一對夫婦的事情,以改善:

  • autostarthidden是布爾屬性,但是,這並不意味着你應該像對待布爾變量。如果該屬性存在,則認爲該屬性,否則認爲該屬性關閉。沒有屬性hidden - 僅當設置了controls屬性時纔會顯示<audio>元素。另外,你應該告訴瀏覽器你正在使用什麼類型的音頻。所以,你的音頻標籤應該是:
<audio id="song1" src="audio/ruins.wav" type="audio/x-wav" /> 
  • 這是不好的做法,建立一個功能僅適用於一個實例。你會過得更好傳遞1作爲參數,所以你會:
<div id="pixelbutton" onClick="musicplay(1);"> </div> 
  • 只需設置autostart屬性可能不會讓它自動啓動。相反,請使用.play()方法。有了這個和上面的點,你會得到:
function musicplay(id) { 
    document.getElementById('song'+id).play(); 
} 
  • 最後,除非因爲我最後一次檢查,只有IE和Firefox支持WAV事情已經改變,Chrome不。

希望這會有所幫助。

+1

實際上HTML5在所有元素上定義了一個隱藏屬性。 http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-hidden-attribute – Neil