2013-11-22 3 views
1

Моя цель - получить src видео, воспроизводимого при воспроизведении видео.захват видеоисточника на событие воспроизведения видео html5

настоящее время у меня следующий код:

<!doctype html> 
<html> 
<head> 
</head> 
<body> 
<video width="320" height="240" controls> 
    <source src="video.mp4" type="video/mp4"> 
    <source src="movie.ogg" type="video/ogg"> 
Your browser does not support the video tag. 
</video> 

<script type='text/javascript'> 
var vid = document.getElementsByTagName('video')[0]; 
vid.addEventListener('play', function() { 
    console.log('video source:',this.src); 
}, false); 
</script> 
</body> 
</html> 

Так что моя первая проблема заключается в том this.src не работает; он выводит пустую строку. Я предполагаю, что это потому, что src на самом деле не является частью тега video, но находится в дочернем теге source.

Затем я попытался добавить в мою функцию следующего:

for (var p in this) { 
    console.log(p, this[p]); 
} 

Я сделал это, чтобы увидеть, если я мог бы найти какое-либо свойство, указывающее его .. но я не вижу ничего, что прямо ссылается на это? Итак, единственный способ заставить источник действительно захватить дочерние узлы source? Если так ... то ...

Мой второй вопрос, как бы определить, какой атрибут src используется для воспроизведения видео? IOW, если video.mp4 был фактически использован для воспроизведения видео, я хочу знать это значение, но если video.ogg был фактически использован для воспроизведения видео, я хочу знать это значение вместо этого.

+0

Проверьте это: https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_HTML5_audio_and_video – melancia

ответ

3

Вы можете попробовать этот способ:

var vid = document.getElementsByTagName('video')[0]; 

vid.addEventListener('play', function() { 
    console.log('video source:',this.currentSrc); 
}, false); 
+0

я вернулся и посмотрел на вещи, которые выводят из моего цикла и Конечно, это было ... я слепой! благодаря! – slinkhi

1

Похоже media elements имеют currentSrc свойство, чтобы получить выбранный файл мультимедиа.

0

В элементе видео HTML5 уже есть события, поэтому нет необходимости добавлять слушателя. Вот как я это сделаю.

var myVid = document.getElementById('videoId');  
if(myVid != null)//if possibility of no video loaded in DOM 
{ 
    myVid.onplay = function() { 
     console.log('video source: ' + myVid.currentSrc); 
    }; 
} 
Смежные вопросы