2013-04-16 32 views
6

Tôi đã phát lại nhanh về phía trướcRate hoạt động tốt. Bây giờ tôi thử với phần tua lại với số âm nhưng nó không hoạt động. Các w3school nói để sử dụng số âm để tua lại nó. http://www.w3schools.com/tags/av_prop_playbackrate.asp Bất kỳ ai cũng có thể cho tôi biết tôi đã làm gì sai?jQuery, tại sao phát lại tua lại không hoạt động?

Đây javascript của tôi làm việc mã cho nhanh về phía trước,

$("#speed").click(function() { // button function for 3x fast speed forward 
    video.playbackRate = 3.0; 
}); 

Sau đó, đây không mã tua lại thành công,

$("#negative").click(function() { // button function for rewind 
    video.playbackRate = -3.0; 
}); 
+1

Lưu ý phụ: KHÔNG sử dụng w3schools ... [đọc này] (http://w3fools.com/). – Dom

+0

Tôi ngạc nhiên rằng w3schools là không tốt. Bây giờ tôi sẽ phải đổ lỗi cho trường đại học của tôi vì đã buộc tôi phải sử dụng cách học của trường. – StudentIT

Trả lời

6

Sample Fiddle

Không giống như có complete browser support cho tùy chọn tốc độ phát lại xa như tua lại. Bạn có thể giả mạo nó bằng cách sử dụng setinterval và trừ số currentTime của video.

var video = document.getElementById('video'); 
var intervalRewind; 
$(video).on('play',function(){ 
    video.playbackRate = 1.0; 
    clearInterval(intervalRewind); 
}); 
$(video).on('pause',function(){ 
    video.playbackRate = 1.0; 
    clearInterval(intervalRewind); 
}); 
$("#speed").click(function() { // button function for 3x fast speed forward 
    video.playbackRate = 3.0; 
}); 
$("#negative").click(function() { // button function for rewind 
    intervalRewind = setInterval(function(){ 
     video.playbackRate = 1.0; 
     if(video.currentTime == 0){ 
      clearInterval(intervalRewind); 
      video.pause(); 
     } 
     else{ 
      video.currentTime += -.1; 
     } 
      },30); 
}); 

Tôi cũng đã thêm một số trình nghe bổ sung cho nút phát và tạm dừng để xóa khoảng thời gian. Có thể muốn xem xét việc thực hiện một số tính năng chuyển đổi nhanh trên các nút nhanh và tua lại.

+0

nó hoạt động tốt nhưng làm thế nào để bạn biết rằng nếu tua lại có thể phù hợp với tốc độ phát lại nhanh về phía trước 3.0? – StudentIT

+0

@StudentIT chơi xung quanh với khoảng thời gian trễ cho đến khi bạn nhận được về cùng một tua cảm thấy như nhanh về phía trước. Tôi cảm thấy 30 khá gần. –

+0

vì vậy nếu tôi có 1,5 thay vì 3,0. Các 30 sẽ phải thay đổi nhưng để lại-1 mình? – StudentIT

1
  • Hãy chắc chắn rằng bạn kiểm tra trong một trình duyệt được hỗ trợ. Tôi chỉ tìm thấy nó hoạt động trên IE10 (mặc dù nó khá luộm thuộm)

  • Đang cố gắng để thiết lập một giá trị tiêu cực trong IE9 causes the video to pause (đặt nó vào 0)

  • Đó là nghĩa vụ phải làm việc trong chrome theo w3schools, nhưng tôi đã không có may mắn có

  • nên làm việc trên Safari quá, mặc dù tôi đã không kiểm tra

    example

+0

Đây phải là một bình luận vì nó không trả lời câu hỏi. – Dom

+0

@Dom không thể nhận xét về câu hỏi nào được nêu ra .. không đủ điểm đại diện (tôi nghĩ) – potatoes

+0

Nó nói rằng nó hoạt động trên Chrome nhưng tôi đã thử nghiệm nó và nó không hoạt động chút nào. Chỉ tiến nhanh về phía trước. – StudentIT

1

Đây là một ví dụ khác là w3school.com cung cấp thông tin sai lệch. Họ quên chỉ ra rằng:

Khi nguyên tố này có một bộ điều khiển phương tiện truyền thông hiện nay, các thuộc tính playbackRate được bỏ qua và điều khiển phương tiện truyền thông hiện tại của playbackRate được sử dụng để thay thế.

Nguồn:http://www.w3.org/TR/html5/embedded-content-0.html#playing-the-media-resource

Sau một số thử nghiệm sử dụng this demo, nó quay ra, khi điều khiển phương tiện truyền thông có mặt, playbackRate phải lớn hơn hoặc bằng 0. Nếu video.playbackRate < 0, nó chỉ đơn giản là sẽ không chơi.

Điều này có nghĩa là bạn không thể "tua lại" bằng cách sử dụng playbackRate khi có bộ điều khiển phương tiện. Tuy nhiên, bạn có thể tua lại video bằng cách làm một cái gì đó như:

var _el = document.getElementById("video"); 
_el.currentTime -= 5; 

DEMO: http://jsfiddle.net/dirtyd77/sZVAq/3/

hoặc

<button onclick='video.currentTime-=5'>Rewind</button>

DEMO: http://jsfiddle.net/dirtyd77/sZVAq/2/

+1

+1 cho nguồn w3.org! –

+0

điều này là bỏ qua trở lại tua lại, tôi muốn tốc độ khung hình tua lại, không bỏ qua tua lại. – StudentIT

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