Làm cách nào để thay đổi tốc độ phát của video trong HTML5?


Câu trả lời:


200

Theo trang web này , điều này được hỗ trợ trong các thuộc tính playbackRatedefaultPlaybackRate, có thể truy cập thông qua DOM. Thí dụ:

/* play video twice as fast */
document.querySelector('video').defaultPlaybackRate = 2.0;
document.querySelector('video').play();

/* now play three times as fast just for the heck of it */
document.querySelector('video').playbackRate = 3.0;

Cách trên hoạt động trên Chrome 43+, Firefox 20+, IE 9+, Edge 12+.


1
Cảm ơn vì tài nguyên hữu ích Mặc dù Firefox không hỗ trợ thuộc tính mà tôi đã tạo bản demo trong Chrome hoạt động tốt. Tôi đoán sếp của tôi sẽ thích điều đó. Cảm ơn bạn!
Young

4
playbackRate hoạt động trong Firefox kể từ phiên bản 20 . Nó cũng hoạt động trong Chrome.
Janus Troelsen

2
điều này hoạt động khi chạy lúc đầu nhưng không hoạt động nếu nó chạy sau trong quá trình, chẳng hạn như tại: window.onload = function () {document.getElementById ("master_video"). defaultPlaybackRate = 0.1; document.getElementById ("master_video") .play ();}
Fzs 2

nó không hoạt động đối với Ionic android ... Tôi đang sử dụng trình phát video HTML% trong ionic framwork cho android nhưng nó không hỗ trợ tốc độ phát lại .........
Dinesh R Rajput

1
@Sushan .querySelectortrả về kết quả phù hợp đầu tiên. Bạn có thể sử dụng .querySelectorAll, nhưng bạn cần phải lặp lại chúng thay vì sử dụng trực tiếp mã trong các câu trả lời này.
leewz

52

Chỉ loại

document.querySelector('video').playbackRate = 1.25;

trong bảng điều khiển JS của trình duyệt hiện đại của bạn.


Một số thuộc tính của phần tử video sẽ ngăn lệnh này hoạt động. Nếu lệnh bảng điều khiển này không thành công, hãy kiểm tra các thuộc tính trên phần tử video và các phần tử mẹ trong trình kiểm tra và xóa những thuộc tính chặn tương tác của người dùng với video. Hãy thử lại lệnh.
Christopher Harwood

0

Bạn có thể sử dụng mã này:

var vid = document.getElementById("video1");

function slowPlaySpeed() { 
    vid.playbackRate = 0.5;
} 

function normalPlaySpeed() { 
    vid.playbackRate = 1;
} 

function fastPlaySpeed() { 
    vid.playbackRate = 2;
}

Xin chào @Armel, tôi có thể biết đặt mã này ở đâu nếu tôi đang sử dụng Selenium với Python không?
balandongiv

Xin chào @balandongiv, tôi xin lỗi vì tôi không biết :(
Armel

-1
javascript:document.getElementsByClassName("video-stream html5-main-video")[0].playbackRate = 0.1;

bạn có thể đặt bất kỳ số nào ở đây chỉ cần không đi quá xa để bạn không làm quá tải máy tính của mình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.