2017-04-22 13 views
0

このコードを使用して、カスタムコントロール付きのビデオプレーヤーを作成しています。何らかの理由で、私の "seektimeupdate"と "vidseek"関数が定義されていないというエラーが表示されます。私はエラーがどこにあるのかを教えてくれるかどうかを調べるためにコンソールに入ったが、どこに教えてくれない。video.currentTimeを使用すると複数のエラーが発生する

var myvideo = document.getElementById("myvideo") 
 
var button = document.getElementById('button') 
 
var seekslider = document.getElementById('vidtime'); 
 
var isplaying = false; 
 
\t function playvid() { 
 
\t \t if (isplaying==false) { 
 
\t \t \t myvideo.play(); 
 
\t \t \t button.innerText="Pause" 
 
\t \t \t isplaying=true; 
 
\t \t } else { 
 
\t \t \t myvideo.pause(); 
 
     button.innerText="Play" 
 
\t \t \t isplaying=false; 
 
\t \t } 
 
\t \t function vidseek() { 
 
\t \t \t var seekto = myvideo.duration * (seekslider.value/100); 
 
\t \t \t myvideo.currentTime = seekto; 
 
\t \t } 
 
\t \t function seektimeupdate() { 
 
\t \t \t var nt = myvideo.currentTime * (100/myvideo.duration) 
 
\t \t \t seekslider.value=nt; 
 
\t \t } 
 
\t \t 
 
\t } 
 
setInterval(seektimeupdate,10,false) 
 
seekslider.addEventListener("change",vidseek,false)
\t body { 
 
\t \t background-color: #42b0f4; 
 
\t } 
 
\t #videocontrols { 
 
\t \t width:250px; 
 
\t \t background-color: #8c93a5; 
 
\t \t padding: 2px; 
 
\t \t text-align: left; 
 
\t } 
 
\t #myvideo { 
 
\t \t align-self: center; 
 
\t \t background-color: #e2eaff; 
 
\t \t width: 250px; 
 
\t \t padding: 2px; 
 
\t } 
 
\t #vidtime { 
 
\t \t width: 100px; 
 
\t }
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
</head> 
 
<body> 
 

 
<video src="https://www.w3schools.com/html/mov_bbb.mp4" id="myvideo"></video> 
 
<div id="videocontrols"> 
 
<font color="#8c93a5">cv</font><button id="button" onclick="playvid()" height="25">Play</button><input type="range" id="vidtime" value="0" min="0" max="100"> 
 
</div> 
 

 
</body>

あなたは私のメインのコードを見れば、あなたはそれが少し厄介だ伝えることができますが、これはバーをsliderbarに対して時間を変更し、更新されてやっていることになっているものを、すべて10代わりに大きなエラーが発生しています。どんな助けもありがとう。前もって感謝します!

答えて

1

vidseek()seektimeupdate()の間には、playvid()の機能があります。以下のコードを見てください:

var myvideo = document.getElementById("myvideo") 
 
var button = document.getElementById('button') 
 
var seekslider = document.getElementById('vidtime'); 
 
var isplaying = false; 
 
\t function playvid() { 
 
\t \t if (isplaying==false) { 
 
\t \t \t myvideo.play(); 
 
\t \t \t button.innerText="Pause" 
 
\t \t \t isplaying=true; 
 
\t \t } else { 
 
\t \t \t myvideo.pause(); 
 
     button.innerText="Play" 
 
\t \t \t isplaying=false; 
 
\t \t } 
 
\t } 
 
    
 
    /* vidseek() and seektimeupdate() should live outside of playvid() function */ 
 
    function vidseek() { 
 
\t \t \t var seekto = myvideo.duration * (seekslider.value/100); 
 
\t \t \t myvideo.currentTime = seekto; 
 
\t } 
 
\t 
 
    function seektimeupdate() { 
 
\t \t \t var nt = myvideo.currentTime * (100/myvideo.duration) 
 
\t \t \t seekslider.value=nt; 
 
\t } 
 
setInterval(seektimeupdate,10,false) 
 
seekslider.addEventListener("change",vidseek,false)
body { 
 
\t \t background-color: #42b0f4; 
 
\t } 
 
\t #videocontrols { 
 
\t \t width:250px; 
 
\t \t background-color: #8c93a5; 
 
\t \t padding: 2px; 
 
\t \t text-align: left; 
 
\t } 
 
\t #myvideo { 
 
\t \t align-self: center; 
 
\t \t background-color: #e2eaff; 
 
\t \t width: 250px; 
 
\t \t padding: 2px; 
 
\t } 
 
\t #vidtime { 
 
\t \t width: 100px; 
 
\t }
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
</head> 
 
<body> 
 

 
<video src="https://www.w3schools.com/html/mov_bbb.mp4" id="myvideo"></video> 
 
<div id="videocontrols"> 
 
<font color="#8c93a5">cv</font><button id="button" onclick="playvid()" height="25">Play</button><input type="range" id="vidtime" value="0" min="0" max="100"> 
 
</div> 
 

 
</body>

+1

おかげで、私はそれを実現するためではない、そのような馬鹿です! xD – DecstarG

関連する問題