2012-01-16 52 views
1

点击不同链接后,我点击了HTML5视频(请参阅下面的代码)。它适用于所有浏览器,但Safari。初始视频可在所有浏览器中播放,但不能在Safari中切换视频。如果我修改为这样:HTML5 - 更改视频源在Safari中不起作用

<script> 
function loadAnotherVideo() { 
    var video = document.getElementsByTagName('video')[0]; 
    video.src="HTML5 MOVREV.m4v"; 
    video.load(); // need this for the new video to load 
} 
function loadAnotherVideo2() { 
    var video = document.getElementsByTagName('video')[0]; 
    video.src="HTML5 MOV.m4v"; 
    video.load(); // need this for the new video to load 
} 
</script> 

它只能在Safari浏览器,因为它的MP4,但不流利切换视频,而在Safari这意味着什么是它的错。

它可能与下面的功能在Safari中看不到mp4有关。

CODE:(在所有浏览器中工作,但Safari浏览器)

<div id="VIDEOONE"> <video controls="controls" width="852" height="479"> 
<source src="HTML5 MOV.m4v" type="video/mp4"> 
<source src="HTML5 MOV.theora.ogv" type="video/ogg"> 
video not supported 
</video> 
<script> 
function loadAnotherVideo() { 
    var video = document.getElementsByTagName('video')[0]; 
    var sources = video.getElementsByTagName('source'); 
    sources[0].src = "HTML5 MOVREV.m4v"; 
    sources[1].src = "HTML5 MOVREV.theora.ogv"; 
    video.load(); // need this for the new video to load 
} 
function loadAnotherVideo2() { 
    var video = document.getElementsByTagName('video')[0]; 
    var sources = video.getElementsByTagName('source'); 
    sources[0].src = "HTML5 MOV.m4v"; 
    sources[1].src = "HTML5 MOV.theora.ogv"; 
    video.load(); // need this for the new video to load 
} 
</script> 
<input type="button" value="video two" 
     onclick="loadAnotherVideo()"> 

<input type="button" value="video one" 
     onclick="loadAnotherVideo2()"></div> 

回答

0

作品在所有浏览器? AFAIK如果视频节点中有SOURCE节点,IE9无法通过src()函数切换视频。另外,m4v不会在Firefox和Opera中播放 - 如果您想切换视频,根据我的经验,丢失SOURCE节点是明智的做法,而应该从头开始使用canPlayType(),即使是初始化视频。 (请注意,Android 2.2知道html5视频,但没有实现该功能 - >如果通过用户代理找到该设备(如果该设备与您有关),则必须实现该功能。有关示例代码,请参阅mediaelement.js)

你不应该在文件名中使用空格,因为那些空格也会导致错误。您可能无法在所有常见浏览器和操作系统上检查您的播放器 - > Chrome/FF/[...]在Linux/Windows/Mac上不是一样的最后但不是最不重要你是用m4v代替mp4吗?只有在文件中包含章节信息时才需要M4V,而html5播放器无法读取。 M4V仅适用于iTunes兼容设备以及章节信息。