2015-09-22 52 views
1

有一些代碼的問題..我找不到任何錯誤,並似乎與我的其他代碼確實工作相同。只是音量和音量降低,以及我遇到麻煩的goToChorus。任何幫助表示讚賞!音頻向上和向下和.currentTime HTML5/Javascript

<!DOCTYPE html> 
<html> 
<head> 
    <title>Slider + Play/Pause</title> 

    <script> 
     "use strict"; 
     /*function playMusic() { 
      document.getElementById("mediaClip").play(); 
     }*/ 
var mediaClip = document.getElementbyId("mediaClip"); 
    var volume1 = document.getElementbyId("volume1").value; 

function playPause() { 
    var mediaClip = document.getElementById("mediaClip"); 
    if (mediaClip.paused) { 
     mediaClip.play(); 
    } else { 
     mediaClip.pause(); 
    } 
} 

function change() { 
    var button1 = document.getElementById("button1"); 
    if (button1.value==="Play") button1.value = "Pause"; 
    else button1.value = "Play"; 
} 

function setVolume() { 
    var mediaClip = document.getElementById("mediaClip"); 
    mediaClip.volume = document.getElementById("volume1").value; 

} 
function backStart() { 
    document.getElementById("mediaClip").currentTime = 0; 
} 

function upVolume() { 
    if (mediaClip.volume < 1) 
    { 
     mediaClip.volume += 0.1; 
    } 

} 

function downVolume() { 
    if (mediaClip.volume > 0) 
    { 
     mediaClip.volume -= 0.1; 
    } 
} 

function goToChorus() { 
    mediaClip.currenTime = 55; 
} 
    </script> 


</head> 
<body onload="init()"> 
    <audio id="mediaClip" src="takeMeToChurchHozier.mp3" controls> 
     <p>Your browser does not support the audio element</p> 
    </audio> 
    <br/> 
    <input onclick="change();playPause()" type="button" value="Play" id="button1"> 
    <input type="range" onchange="setVolume()" id='volume1' min=0 max=1 step=0.01 value='1'/> 
    <br/> 
    <button onclick ="backStart()">Reset</button> 
    <br/> 
    <button onclick="upVolume()">Volume up 10%</button> 
    <button onclick="downVolume()">Volume down 10%</button> 
    <br/> 
    <input type="button" value="Click for chorus" onclick="goToChorus()"> 
</body> 
</html> 
+0

那是什麼,你遇到的麻煩,到底是什麼?具體的錯誤信息?當我點擊按鈕 –

+0

什麼都沒發生..還當我點擊運行的NetBeans我得到無法加載資源錯誤消息 文件:網:: ERR_EMPTY_RESPONSE |在的public_html/index.html的 –

回答

0

好的,第一件事就是第一件事。帶上您的JavaScript代碼,並將其從<head>元素中取出。這打破了之類的東西

var mediaClip = document.getElementbyId("mediaClip"); 

因爲它試圖去尋找元素「mediaClip」 之前的瀏覽器甚至已經下來了該行的代碼和創建的DOM元素。在HTML代碼後面添加JavaScript將允許瀏覽器創建DOM元素,然後您的代碼將運行。

其次,你的JavaScript中有一些拼寫錯誤。兩次嘗試使用方法getElementbyId(請注意小寫字母b)。改變這些到getElementById應該修復它。

好的,現在你的代碼會在DOM加載後運行,並且會正確地找到元素。這應該允許其餘的函數運行,因爲它們都依賴於在開始時正確設置的變量mediaClip

還有一件事:你需要在upVolume()downVolume()之內添加一些東西來改變滑塊的值volume1。現在,當您單擊向上/向下按鈕時,音量將更新,但滑塊不會移動。

這裏是你的代碼,我得到了上述修改後的工作的jsfiddle:http://jsfiddle.net/vcxsn6q7/

+0

(錯誤,網絡)將javascript從身體上方移動到下方,似乎可以修復音量按鈕,謝謝。不知道合唱按鈕是否工作,因爲它可能只是鉻,並不會在任何其他瀏覽器打開,感謝您的幫助:) –

+1

得到了所有的工作,謝謝! –