2013-08-16 2 views
0

Это становится довольно неприятным. Я делаю видео и готов играть его в js [без jquery]. И каждый раз он терпит неудачу. Консоль сказала play is not defined. Можете ли вы мне помочьПочему мое видео не воспроизводится?

<video id='video'> 
     <source src='http://techslides.com/demos/sample-videos/small.mp4' type='video/mp4'> 
     <source src='http://techslides.com/demos/sample-videos/small.ogv' type='video/ogg'> 
     <embed src='http://techslides.com/demos/sample-videos/small.flv' type='x-shockwave-flash'> 
    </video> 
    <button onclick='play()' >Play/Pause</button> 

.

window.onload = function() { 
var video = document.getElementById('video'); 
if (video.paused) { 
    video.play(); 
} else { 
    video.pause(); 
} 
}; 
  • благодаря

ответ

1

Ваша функция для воспроизведения или паузы должна быть отделена от загрузки документа:

window.playPause = function() { 
    var myVideo = document.getElementById('video'); 
    if (myVideo.paused) { 
     myVideo.play(); 
    } else { 
     myVideo.pause(); 
    } 
}; 

... то, зацепить что до вашей кнопки:

<button onclick='playPause()'>Play/Pause</button> 

Это работает для меня с видео, которое вы используете. Если вы хотите, чтобы видео автоматически запускалось при загрузке документа (что не очень хорошо), вы должны указать, что в теге, а не в JavaScript:

<video id='video' autoplay> 
0

Вы вызываете метод воспроизведения на кнопке. Для события onClick, а не просто для вызова воспроизведения, вызовите метод воспроизведения видеоэлемента.

<button onclick="video.play();">Play/Pause</button> 
Смежные вопросы