2010-08-02 7 views
1

비디오 플레이어에 3 개의 동영상 (낮은 품질, 중간 품질 및 동일한 품질의 동영상)을 미리로드하는 웹 페이지가 있습니다. 그런 다음 사용자가 원하는 버전에 해당하는 버튼을 클릭하면 비디오가 열립니다.동영상 미리로드를 중지하려면 어떻게해야합니까 (HTML5 - 자바 스크립트)

내가하고 싶은 것은 두 개의 다른 비디오의 사전로드를 중지하는 것입니다.

는 것이 가능할까요? 즉, 일부 자바 스크립트로 HTML5 Video 태그의 '미리로드'속성을 즉시 취소하거나 중단 할 수 있습니까?

jQuery로

답변

3

, 당신은 시도 할 수 있습니다 : 나는 이미 사전로드있어 비디오를 중지 모르겠어요

$('#videoPlayerId').removeAttr('preload'); 

.

UI 관점에서 왜 3 개의 비디오를 모두 미리로드하려고합니까? 이렇게하면 세 가지 모두의 로딩 속도가 느려집니다. 그 중 하나만 미리로드하면 사용자가 비디오를보기 전에 더 많은 비디오가 버퍼링 될 수 있습니다.

기본 품질의 비디오 중 하나를 미리로드하고 사용자가 선택한 경우 다른 품질의 비디오 만로드하는 것이 좋습니다. 이것은 YouTube, Netflix 및 기타에서 사용되는 동작입니다.

4

방금 ​​내가 닮은 문제에 대한 해결책을 찾아 냈습니다. 내 페이지에 일련의 영화 목록을 미리로드하고 있지만 가능한 한 빨리 재생하기 위해 미리로드 된 것보다 먼저 우선 순위를 지정하여 우선 순위를 지정할 수 있어야합니다.

미리로드 된 비디오를 버퍼링하는 div # prebuffer 요소가 있습니다.

var $video = $('#prebuffer video:last'); 
$video.find('source').attr('src', ''); 
$video[0].load(); 
// it has now stopped preloading. 
// and then, because I don't want this half-loaded broken cruft hanging around: 
$video.remove(); 

이 약간 추한,하지만 난 더 좋은 방법을 찾을 수 없습니다 : 나는 사전로드 잊어해야하는 경우, 간단히 말해서 나는이 작업을 수행. 그리고 일이 끝납니다.

0

전용 태그는 요즘 있습니다 :

<video preload="none" ....> 
관련 문제