2011-12-07 38 views
5

Tôi đang viết một plugin jQuery cho thẻ video trên ipad. Một trong những điều mà plugin của tôi làm là tiếp tục phát một bộ phim mà bạn đã bỏ xem nó lần cuối. Tôi đang gặp sự cố khi đặt thời gian hiện tại. Tôi đã tìm thấy tôi chỉ có thể đặt sau khi sự kiện "stalled" đã kích hoạt. Các chững lại dường như cháy trên một ipad sau khi một bộ phim bắt đầu chơi (đây là một dòng video trực tiếp HTTP). Tôi không thấy sự kiện này trong các môi trường khác, ví dụ: google chrome trên PC. Vì vậy, mã này hoạt động nhưng tôi cảm thấy không thoải mái khi sử dụng sự kiện stalled. Tôi đã thử canplaythrough, playing và những người khác và trong những trường hợp đó, bản cập nhật của tôi cho currentTime bị bỏ qua. Có ai khác có kinh nghiệm với điều này?Đặt currentTime trên thẻ video HTML5 trên ipad

var theClass = this; 
$(this.videoElement).bind("pause play stalled error abort progress waiting playing webkitfullscreenchange canplaythrough", null, function (e) { 
    ///<summary>bind to the various events we are interested in during playback. event state changes will be saved to 
    ///local storage. If we detect the media has finished playing we will exit fullscreen and trigger our mediaDone event</summary> 
    if (e.type == "stalled" && theClass.resumeTriggered) { 
     theClass.resumeTriggered = false; 
     theClass.resumeTime = theClass.resumeTime + 0.1; 

     $("#smpPlayerDebug").append("<p> seeking to time " + theClass.resumeTime + "</p>"); 
     e.srcElement.currentTime = theClass.resumeTime; 
    } 

Trả lời

1

Nó chỉ đơn giản là không hoạt động. Sự hỗ trợ của iPad trong việc kiểm soát việc phát video là yếu, có lẽ trong nỗ lực của Apple để tạo ra một trải nghiệm tiêu chuẩn (không cho phép quá nhiều biến thể).

+2

..hoặc Apple không quan tâm đến các tiêu chuẩn :) –

Các vấn đề liên quan