2012-01-16 2 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> 

그것의 MP4 이후에만 사파리에서 작동하지만, 어쨌든 그 잘못을 뜻 사파리에있는 동안 유창 비디오를 전환하지 않습니다.

Safari에서 mp4를 볼 수없는 아래 기능과 관련이있을 수 있습니다.

CODE : 모든 브라우저에서

<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

작품 (모든 브라우저에서 작동하지만, 사파리)? 비디오 노드 내에 SOURCE 노드가 있다면 AFAIK IE9는 src() 함수를 통해 비디오를 전환하지 못합니다.

또한 m4v는 Firefox와 Opera에서 재생되지 않습니다. 내 경험에 비추어 볼 때 동영상 소스를 잃어 버리면 처음부터 canPlayType()을 사용하는 것이 현명합니다. 동영상. (안드로이드 2.2는 html5 비디오를 알고 있지만 그 기능을 구현하지 않았다는 것을 알고 있어야합니다.> 관련된 장치 인 경우 사용자 에이전트를 통해 해당 장치가 발견되면 구현해야합니다. 예제 코드는 mediaelement.js를 참조하십시오)

오류가 발생할 수 있으므로 파일 이름에 공백을 사용하면 안됩니다. Linux/Windows/Mac에서 Chrome 및 FF/[...]가 동일하지 않습니다.

마지막으로 중요한 이유는 무엇입니까? mp4 대신 m4v를 사용하고 있습니까? M4V는 html5 플레이어가 읽을 수없는 파일 내에 장 정보를 포함하는 경우에만 필요합니다. M4V는 챕터 정보와 함께 iTunes 호환 장치에만 필요합니다.

관련 문제