2014-09-13 2 views
0

Я пытаюсь изменить источник видео с помощью javascript и установить currentTime на время изменения src, но я получаю черный экран в Chrome и замораживающий экран в Firefox с таким странным звуком, как когда я изменяю src. Если я удалюЧерный экран при смене HTML5 видео src

$("#video").on("canplay",function(){ 
      video.currentTime = time; 
     }); 

все нормально работает.

<video src="http://srv35.clipconverter.cc/download/tdCQhWZj2IqwZGpolpWUaXFk5KWmqWxt4pSXaWlmnGhkZnK0qc%2FMqHyf1qiZpa2d2A%3D%3D/Blunt%20%26%20Real%20ft.%20Ledri%20Vula%20-%20Nese%20m%27don%20ti%20-%20Remix%20%28Official%20Video%20HD%29.mp4" id="video" autoplay></video> 

<div id="360p" class="quality">360p</div> 


var video = document.getElementById('video'); 
var time; 

var _360p = "http://r3---sn-p5qlsnel.googlevideo.com/videoplayback?ratebypass=yes&sparams=id,initcwndbps,ip,ipbits,itag,mime,mm,ms,mv,ratebypass,source,upn,expire&ipbits=0&mt=1410631565&sver=3&itag=18&expire=1410653286&mm=31&upn=vTh5FN82i_U&id=o-AJXkFxYoWM1bFEPoTrX53eNVZbgtwutGGXv655WRWj4Q&mime=video/mp4&initcwndbps=1202000&ip=2001:41d0:2:40c5:a8b1:cb97:ef0b:b1b4&key=yt5&fexp=900147,927622,931983,932404,934030,936117,945539,946023,947209,952302,953801&source=youtube&mv=m&ms=au&signature=A77C56E95778206A0A06799B860CECFAE8A35ED8.C27AA1B748D371DFCC52DA1219133F63FDBDABB4&&title=Blunt+%26+Real+ft.+Ledri+Vula+-+Nese+m%27don+ti+-+Remix+%28Official+Video+HD%29"; 

var _1080p = "http://srv35.clipconverter.cc/download/tdCQhWZj2IqwZGpolpWUaXFk5KWmqWxt4pSXaWlmnGhkZnK0qc%2FMqHyf1qiZpa2d2A%3D%3D/Blunt%20%26%20Real%20ft.%20Ledri%20Vula%20-%20Nese%20m%27don%20ti%20-%20Remix%20%28Official%20Video%20HD%29.mp4"; 

video.addEventListener("timeupdate", function() { 
    time = video.currentTime; 
}); 

$("#360p").click(function() { 

    $("#preload").attr("src", _360p) 

    $("#preload").on("canplay",function(){ 
     $('#video').attr("src", _360p); 
    $("#video").on("canplay",function(){ 
     video.currentTime = time; 
    }); 
    }); 



}); 

http://jsfiddle.net/cc88530p/7/

ответ

1

Установка video.src и video.currentTime, скорее всего, приведет к призывам к timeupdate и canplay обработчиков. Я думаю, что вы хотите отменить регистрацию обработчика timeupdate перед настройкой video.src и, возможно, отменить регистрацию обработчика video.oncanplay перед настройкой video.currentTime. (Я не могу проверить это в вашем jsfiddle, потому что URL-адрес googlevideo возвращает 403 Forbidden.)

Смежные вопросы