Phần tử HTML
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg6 nhúng trình phát đa phương tiện hỗ trợ phát lại video vào tài liệu. Bạn cũng có thể sử dụng
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg6 cho nội dung âm thanh nhưng phần tử
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg8 có thể mang lại trải nghiệm người dùng phù hợp hơn
Ví dụ trên cho thấy cách sử dụng đơn giản của phần tử
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg6. Theo cách tương tự với phần tử
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
1, chúng tôi bao gồm một đường dẫn đến phương tiện mà chúng tôi muốn hiển thị bên trong thuộc tính const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
2; Nội dung bên trong các thẻ mở và đóng
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
3 được hiển thị dưới dạng dự phòng trong các trình duyệt không hỗ trợ phần tửGiống như tất cả các phần tử HTML khác, phần tử này hỗ trợ các thuộc tính toàn cục
Một thuộc tính Boolean;
Ghi chú. Các trang web tự động phát âm thanh [hoặc video có bản âm thanh] có thể gây khó chịu cho người dùng, vì vậy nên tránh khi có thể. Nếu bạn phải cung cấp chức năng tự động phát, bạn nên chọn tham gia [yêu cầu người dùng bật cụ thể chức năng này]. Tuy nhiên, điều này có thể hữu ích khi tạo các phần tử phương tiện có nguồn sẽ được đặt sau, dưới sự kiểm soát của người dùng. Xem hướng dẫn tự động phát của chúng tôi để biết thêm thông tin về cách sử dụng tự động phát đúng cách
Để tắt tự động phát video,
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
5 sẽ không hoạt động; . Để xóa tự động phát, thuộc tính cần được xóa hoàn toànTrong một số trình duyệt [e. g. Chrome 70. 0] tự động phát không hoạt động nếu không có thuộc tính
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
7 Thực nghiệmThuộc tính Boolean nếu
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
9 chỉ ra rằng phần tử sẽ tự động chuyển đổi chế độ hình trong hình khi người dùng chuyển đổi qua lại giữa tài liệu này và tài liệu hoặc ứng dụng khácNếu có thuộc tính này, trình duyệt sẽ cung cấp các điều khiển để cho phép người dùng kiểm soát quá trình phát lại video, bao gồm âm lượng, tìm kiếm và tạm dừng/tiếp tục phát lại
Thử nghiệm Không chuẩnThuộc tính
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg1, khi được chỉ định, sẽ giúp trình duyệt chọn điều khiển nào sẽ hiển thị cho phần tử
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg3 bất cứ khi nào trình duyệt hiển thị bộ điều khiển của chính nó [nghĩa là khi thuộc tính
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg0 được chỉ định]
Các giá trị được phép là
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg5,
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg6 và
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg7
Sử dụng thuộc tính nếu bạn muốn tắt chế độ Picture-In-Picture [và điều khiển]
Thuộc tính liệt kê này cho biết có nên sử dụng CORS để tìm nạp video liên quan hay không. Các tài nguyên hỗ trợ CORS có thể được sử dụng lại trong phần tử
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
20 mà không bị nhiễm độc. Các giá trị được phép làconst elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
21Gửi yêu cầu nguồn gốc chéo mà không cần thông tin xác thực. Nói cách khác, nó gửi tiêu đề HTTP
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
22 mà không có cookie, X. 509 hoặc thực hiện xác thực HTTP Basic. Nếu máy chủ không cung cấp thông tin xác thực cho trang gốc [bằng cách không đặt tiêu đề HTTP const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
23], tài nguyên sẽ bị nhiễm độc và việc sử dụng nó bị hạn chếconst elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
24Gửi yêu cầu nguồn gốc chéo với thông tin xác thực. Nói cách khác, nó gửi tiêu đề HTTP
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
22 với cookie, chứng chỉ hoặc thực hiện xác thực HTTP Basic. Nếu máy chủ không cung cấp thông tin xác thực cho trang gốc [thông qua tiêu đề HTTP const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
26], tài nguyên sẽ bị nhiễm độc và việc sử dụng nó bị hạn chếKhi không có mặt, tài nguyên được tìm nạp mà không có yêu cầu CORS [i. e. mà không gửi tiêu đề HTTP
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
22], ngăn việc sử dụng không bị nhiễm độc của nó trong các phần tử const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
20. Nếu không hợp lệ, nó được xử lý như thể từ khóa liệt kê const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
21 đã được sử dụng. Xem thuộc tính cài đặt CORS để biết thêm thông tinNgăn trình duyệt đề xuất menu ngữ cảnh Picture-in-Picture hoặc tự động yêu cầu Picture-in-Picture trong một số trường hợp
Thực nghiệmThuộc tính Boolean được sử dụng để tắt khả năng phát lại từ xa trong các thiết bị được kết nối bằng dây [HDMI, DVI, v.v. ] và công nghệ không dây [Miracast, Chromecast, DLNA, AirPlay, v.v. ]
Trong Safari, bạn có thể sử dụng
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
22 làm phương án dự phòngChiều cao của khu vực hiển thị của video, tính bằng [chỉ giá trị tuyệt đối; ]
Một thuộc tính Boolean;
Thuộc tính Boolean cho biết cài đặt mặc định của âm thanh có trong video. Nếu được đặt, ban đầu âm thanh sẽ bị tắt tiếng. Giá trị mặc định của nó là
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
26, nghĩa là âm thanh sẽ được phát khi phát videoThuộc tính Boolean chỉ ra rằng video sẽ được phát "nội tuyến", nằm trong khu vực phát lại của phần tử. Lưu ý rằng việc không có thuộc tính này không có nghĩa là video sẽ luôn được phát ở chế độ toàn màn hình
URL cho hình ảnh được hiển thị trong khi video đang tải xuống. Nếu thuộc tính này không được chỉ định, không có gì được hiển thị cho đến khi khung đầu tiên khả dụng, thì khung đầu tiên được hiển thị dưới dạng khung áp phích
Thuộc tính liệt kê này nhằm cung cấp gợi ý cho trình duyệt về những gì tác giả cho rằng sẽ mang lại trải nghiệm tốt nhất cho người dùng về nội dung nào được tải trước khi phát video. Nó có thể có một trong các giá trị sau
40. Cho biết rằng video không nên được tải trướcconst elem = document.querySelector["video"]; elem.audioTracks.onaddtrack = [event] => { trackEditor.addTrack[event.track]; }; elem.audioTracks.onremovetrack = [event] => { trackEditor.removeTrack[event.track]; };
41. Cho biết rằng chỉ siêu dữ liệu video [e. g. chiều dài] được tìm nạpconst elem = document.querySelector["video"]; elem.audioTracks.onaddtrack = [event] => { trackEditor.addTrack[event.track]; }; elem.audioTracks.onremovetrack = [event] => { trackEditor.removeTrack[event.track]; };
42. Cho biết có thể tải xuống toàn bộ tệp video, ngay cả khi người dùng không muốn sử dụng nóconst elem = document.querySelector["video"]; elem.audioTracks.onaddtrack = [event] => { trackEditor.addTrack[event.track]; }; elem.audioTracks.onremovetrack = [event] => { trackEditor.removeTrack[event.track]; };
- chuỗi rỗng. Từ đồng nghĩa của giá trị
42const elem = document.querySelector["video"]; elem.audioTracks.onaddtrack = [event] => { trackEditor.addTrack[event.track]; }; elem.audioTracks.onremovetrack = [event] => { trackEditor.removeTrack[event.track]; };
Giá trị mặc định khác nhau đối với mỗi trình duyệt. Thông số kỹ thuật khuyên nó nên được đặt thành
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
41Ghi chú
- Thuộc tính
4 được ưu tiên hơnconst elem = document.querySelector["video"]; elem.audioTracks.onaddtrack = [event] => { trackEditor.addTrack[event.track]; }; elem.audioTracks.onremovetrack = [event] => { trackEditor.removeTrack[event.track]; };
29. Nếuconst elem = document.querySelector["video"]; elem.audioTracks.onaddtrack = [event] => { trackEditor.addTrack[event.track]; }; elem.audioTracks.onremovetrack = [event] => { trackEditor.removeTrack[event.track]; };
4 được chỉ định, trình duyệt rõ ràng sẽ cần bắt đầu tải xuống video để phát lạiconst elem = document.querySelector["video"]; elem.audioTracks.onaddtrack = [event] => { trackEditor.addTrack[event.track]; }; elem.audioTracks.onremovetrack = [event] => { trackEditor.removeTrack[event.track]; };
- Đặc tả không buộc trình duyệt tuân theo giá trị của thuộc tính này;
URL của video để nhúng. Đây là tùy chọn;
Chiều rộng vùng hiển thị của video, tính bằng [chỉ giá trị tuyệt đối; ]
Tên sự kiện được kích hoạt khi_______331 Không dùng nữa Bộ đệm đầu vào của
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
32 đã sẵn sàng để được xử lý. const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
33Trình duyệt có thể phát phương tiện, nhưng ước tính rằng không đủ dữ liệu đã được tải để phát phương tiện cho đến hết mà không phải dừng để tải thêm nội dung vào bộ đệm. const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
34Trình duyệt ước tính nó có thể phát phương tiện đến hết mà không dừng lại để lưu vào bộ đệm nội dung. const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
35Kết xuất của một const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
36 bị chấm dứt. const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
37Thuộc tính const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
38 đã được cập nhật. const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
39Các phương tiện đã trở nên trống rỗng; . AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg61Phát lại đã dừng vì đã đến cuối phương tiện.
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg62Đã xảy ra lỗi khi tìm nạp dữ liệu phương tiện hoặc loại tài nguyên không phải là định dạng phương tiện được hỗ trợ.
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg63Khung hình đầu tiên của phương tiện đã tải xong.
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg64Siêu dữ liệu đã được tải.
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg65Phát lại đã bị tạm dừng.
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg66Phát lại đã bắt đầu.
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg67Phát lại đã sẵn sàng bắt đầu sau khi bị tạm dừng hoặc trì hoãn do thiếu dữ liệu.
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg68Được kích hoạt định kỳ khi trình duyệt tải tài nguyên.
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg69Tốc độ phát lại đã thay đổi. Hoạt động tìm kiếm
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg60A đã hoàn thành.
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg61A hoạt động tìm kiếm bắt đầu.
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg62Tác nhân người dùng đang cố gắng tìm nạp dữ liệu phương tiện, nhưng dữ liệu bất ngờ không xuất hiện.
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg63Tải dữ liệu phương tiện đã bị treo.
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg64Thời gian được chỉ định bởi thuộc tính
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg65 đã được cập nhật.
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg66Âm lượng đã thay đổi.
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg67Phát lại đã dừng do thiếu dữ liệu tạm thời.
Không phải tất cả các trình duyệt đều hỗ trợ các định dạng video giống nhau;
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
3Chúng tôi cung cấp hướng dẫn cơ bản và kỹ lưỡng về các loại tệp phương tiện và hướng dẫn về codec được hỗ trợ cho video. Cũng có sẵn hướng dẫn về codec âm thanh có thể được sử dụng cùng với chúng
Ghi chú sử dụng khác
- Nếu bạn không chỉ định thuộc tính
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg
0, video sẽ không bao gồm các điều khiển mặc định của trình duyệt; . Xem Tạo trình phát video trên nhiều trình duyệt để biết thêm chi tiết - Để cho phép kiểm soát chính xác nội dung video [và âm thanh] của bạn,
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg
80 kích hoạt nhiều loại khác nhau. Ngoài việc cung cấp khả năng kiểm soát, các sự kiện này cho phép bạn theo dõi tiến trình tải xuống và phát lại phương tiện, cũng như trạng thái và vị trí phát lại - Bạn có thể sử dụng thuộc tính
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg
82 để điều chỉnh vị trí của video trong khung của phần tử và thuộc tínhAddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg
83 để kiểm soát cách điều chỉnh kích thước của video để vừa với khung - Để hiển thị phụ đề/chú thích cùng với video của bạn, bạn có thể sử dụng một số JavaScript cùng với phần tử
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg
84 và định dạng WebVTT. Xem Thêm chú thích và phụ đề vào video HTML để biết thêm thông tin - Bạn có thể phát các tệp âm thanh bằng phần tử
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg
6. Điều này có thể hữu ích nếu, ví dụ: bạn cần thực hiện âm thanh bằng bản ghi WebVTT, vì phần tửAddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg
8 không cho phép phụ đề sử dụng WebVTT - Để kiểm tra nội dung dự phòng trên các trình duyệt hỗ trợ phần tử này, bạn có thể thay thế
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg
6 bằng một phần tử không tồn tại nhưAddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg
88
Một nguồn thông tin chung tốt về cách sử dụng HTML
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg6 là Hướng dẫn dành cho người mới bắt đầu sử dụng nội dung âm thanh và video
Phần tử
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg6 là phần tử được thay thế — giá trị
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
01 của nó là const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
02 theo mặc định, nhưng chiều rộng và chiều cao mặc định của nó trong chế độ xem được xác định bởi video được nhúngKhông có sự cân nhắc đặc biệt nào đối với kiểu dáng
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg6; . , sau đó cung cấp thông tin về kiểu dáng và bố cục theo yêu cầu. Khái niệm cơ bản về tạo kiểu trình phát video cung cấp một số kỹ thuật tạo kiểu hữu ích
Bạn có thể phát hiện thời điểm các bản nhạc được thêm vào và xóa khỏi phần tử
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg6 bằng cách sử dụng các sự kiện
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
07 và const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
08. Tuy nhiên, những sự kiện này không được gửi trực tiếp đến chính phần tử AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg6. Thay vào đó, chúng được gửi đến đối tượng danh sách bản nhạc trong
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg80 của phần tử
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg6 tương ứng với loại bản nhạc đã được thêm vào phần tử
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
12Một
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
13 chứa tất cả các rãnh âm thanh của phần tử phương tiện. Bạn có thể thêm một người nghe cho const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
07 vào đối tượng này để được thông báo khi các bản âm thanh mới được thêm vào phần tửconst elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
15Thêm một trình nghe
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
07 vào đối tượng const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
17 này để được thông báo khi các bản nhạc video được thêm vào phần tửconst elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
18Thêm trình xử lý sự kiện
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
07 vào const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
20 này để được thông báo khi các bản nhạc văn bản mới được thêm vào phần tửVí dụ: để phát hiện khi các bản âm thanh được thêm vào hoặc xóa khỏi phần tử
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg6, bạn có thể sử dụng mã như thế này
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
Mã này theo dõi các bản âm thanh được thêm vào và xóa khỏi thành phần, đồng thời gọi một chức năng giả định trên trình chỉnh sửa bản nhạc để đăng ký và xóa bản nhạc khỏi danh sách các bản nhạc có sẵn của trình chỉnh sửa
Bạn cũng có thể sử dụng
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
22 để lắng nghe các sự kiện const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
07 và const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
08Nếu loại MIME cho video không được đặt chính xác trên máy chủ, video có thể không hiển thị hoặc hiển thị hộp màu xám chứa dấu X [nếu JavaScript được bật]
Nếu bạn sử dụng Máy chủ web Apache để phân phát video Ogg Theora, bạn có thể khắc phục sự cố này bằng cách thêm phần mở rộng loại tệp video vào loại MIME "video/ogg". Phần mở rộng loại tệp video phổ biến nhất là ". ừm", ". ogv" hoặc ". ogg". Để thực hiện việc này, hãy chỉnh sửa "mime. loại" trong "/etc/apache" hoặc sử dụng chỉ thị cấu hình
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
25 trong const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
26AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg
Nếu bạn cung cấp video của mình dưới dạng WebM, bạn có thể khắc phục sự cố này cho Máy chủ web Apache bằng cách thêm phần mở rộng được các tệp video của bạn sử dụng [". webm" là loại phổ biến nhất] sang loại MIME "video/webm" thông qua "mime. loại" trong "/etc/apache" hoặc thông qua chỉ thị cấu hình "AddType" trong
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
26const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
2Máy chủ lưu trữ web của bạn có thể cung cấp một giao diện dễ dàng để thay đổi cấu hình kiểu MIME cho các công nghệ mới cho đến khi có bản cập nhật toàn cầu một cách tự nhiên
Ví dụ này phát video khi được kích hoạt, cung cấp cho người dùng các điều khiển video mặc định của trình duyệt để điều khiển phát lại
HTML
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
2Kết quả
Cho đến khi video bắt đầu phát, hình ảnh được cung cấp trong thuộc tính
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
28 được hiển thị ở vị trí của nó. Nếu trình duyệt không hỗ trợ phát lại video, văn bản dự phòng sẽ hiển thịVí dụ này dựa trên ví dụ cuối cùng, cung cấp ba nguồn khác nhau cho phương tiện truyền thông;
HTML
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
4Kết quả
Đầu tiên được thử. Nếu không chơi được thì thử AVI. Cuối cùng, đã được thử. Thông báo dự phòng được hiển thị nếu phần tử video không được hỗ trợ, nhưng không được hỗ trợ nếu tất cả các nguồn đều không thành công
Một số loại tệp phương tiện cho phép bạn cung cấp thông tin cụ thể hơn bằng cách sử dụng tham số
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
29 như một phần của chuỗi loại tệp. Một ví dụ tương đối đơn giản là const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
30, cho biết tệp là một video sử dụng cho video và âm thanh của nóVideo phải cung cấp cả chú thích và bản chép lời mô tả chính xác nội dung của video [xem Thêm chú thích và phụ đề vào video HTML để biết thêm thông tin về cách triển khai những chú thích này]. Phụ đề cho phép những người bị mất thính lực hiểu được nội dung âm thanh của video khi video đang được phát, trong khi bản chép lời cho phép những người cần thêm thời gian có thể xem lại nội dung âm thanh ở tốc độ và định dạng phù hợp với họ
Cần lưu ý rằng mặc dù bạn có thể tạo phụ đề cho phương tiện chỉ có âm thanh, nhưng bạn chỉ có thể làm như vậy khi phát âm thanh trong phần tử
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg6, vì vùng video của phần tử được sử dụng để hiển thị phụ đề. Đây là một trong những tình huống đặc biệt hữu ích khi phát âm thanh trong phần tử video
Nếu dịch vụ phụ đề tự động được sử dụng, điều quan trọng là phải xem lại nội dung được tạo để đảm bảo nội dung đó thể hiện chính xác video nguồn
Ngoài hộp thoại được nói, phụ đề và bản chép lời cũng phải xác định hiệu ứng âm nhạc và âm thanh để truyền đạt thông tin quan trọng. Điều này bao gồm cảm xúc và giai điệu
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
3Chú thích không được cản trở chủ đề chính của video. Chúng có thể được định vị bằng cách sử dụng
- Định dạng bản nhạc văn bản video trên web [WebVTT]
- WebAIM. Chú thích, Bản chép lời và Mô tả âm thanh
- Hiểu Tiêu chí Thành công 1. 2. 1. W3C Hiểu WCAG 2. 0
- Hiểu Tiêu chí Thành công 1. 2. 2. W3C Hiểu WCAG 2. 0
Danh mục nội dung, nội dung cụm từ, nội dung được nhúng. Nếu nó có một thuộc tính. nội dung tương tác và nội dung sờ thấy được. nội dung được phép
Nếu phần tử có thuộc tính. không hoặc nhiều phần tử
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg84, tiếp theo là nội dung trong suốt không chứa phần tử phương tiện nào–không phải là
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg8 hoặc
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg6
Khác. không hoặc nhiều phần tử
const elem = document.querySelector["video"];
elem.audioTracks.onaddtrack = [event] => {
trackEditor.addTrack[event.track];
};
elem.audioTracks.onremovetrack = [event] => {
trackEditor.removeTrack[event.track];
};
49, tiếp theo là không hoặc nhiều phần tử AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg84, tiếp theo là nội dung trong suốt không chứa phần tử phương tiện nào–đó không phải là
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg8 hoặc
AddType video/ogg .ogm AddType video/ogg .ogv AddType video/ogg .ogg6