HTML5 giới thiệu hỗ trợ phương tiện tích hợp với thẻ âm thanh, giúp dễ dàng nhúng phương tiện trực tiếp vào bất kỳ tài liệu HTML nào với mã hạn chế. Nó đi kèm với các điều khiển trình duyệt tích hợp, nếu bạn chỉ định và phát âm thanh hay và hiệu quả
Đây thường là giao diện trong trình duyệt của bạn
bạn có thể đang nghĩ. “Nếu tôi muốn tạo kiểu cho trình phát âm thanh của riêng mình bằng các nút và thanh cuộn riêng thì sao?”
Với phần tử âm thanh, phần tử tiến trình và một vài nút, bạn có thể tạo trình phát âm thanh của riêng mình ngay lập tức. Phần tử tiến trình chủ yếu được sử dụng để theo dõi việc hoàn thành một tác vụ và có thể được thao tác dễ dàng bằng Javascript. Trong trường hợp của chúng tôi, nó sẽ theo dõi độ dài của một bài hát. Và điều tuyệt vời là HTML5 và các khả năng của trình duyệt giúp bạn dễ dàng lấy thời lượng bài hát, thời gian hiện tại, v.v.
Nếu bạn muốn chơi với mã, hãy bắt đầu. Thật không may, các bản nhúng Codepen không hoạt động với tôi nên liên kết ở bên dưới
Xem trên Codepen tại đây
Và dưới đây là mã. Lưu ý rằng chúng là hai chức năng riêng biệt. Một theo dõi trình phát âm thanh thực sự phát âm thanh [chức năng initPlayers] và một theo dõi âm thanh cho phần tử tiến trình [chức năng initProgressBar]. Tôi đã cố gắng giữ jQuery ở mức tối thiểu nhưng đã sử dụng nó để thực sự gọi hàm, xin lỗi, tôi không xin lỗi những người theo chủ nghĩa thuần túy JS
Nếu bạn có bất kỳ câu hỏi hoặc đề xuất nào, tôi sẽ lắng nghe. Gửi email cho tôi tại luke. sẽ. duncan@gmail. com hoặc đánh tôi trên twitter @luke__duncan
Tài liệu và ví dụ về cách sử dụng các thanh tiến trình tùy chỉnh của Bootstrap có hỗ trợ cho các thanh xếp chồng lên nhau, hình nền động và nhãn văn bản
Làm thế nào nó hoạt động
Các thành phần tiến trình được xây dựng với hai thành phần HTML, một số CSS để đặt chiều rộng và một vài thuộc tính. Chúng tôi không sử dụng phần tử HTML5
6, đảm bảo bạn có thể xếp chồng các thanh tiến trình, tạo hiệu ứng động cho chúng và đặt nhãn văn bản lên trên chúng- Chúng tôi sử dụng
7 làm trình bao bọc để chỉ ra giá trị tối đa của thanh tiến trình - Chúng tôi sử dụng
0 bên trong để biểu thị tiến trình cho đến nay
0 yêu cầu kiểu nội tuyến, lớp tiện ích hoặc CSS tùy chỉnh để đặt chiều rộng của chúng
0 cũng yêu cầu một số thuộc tính
3 và
4 để có thể truy cập được
Đặt tất cả lại với nhau, và bạn có các ví dụ sau
Bootstrap cung cấp một số tiện ích để thiết lập chiều rộng. Tùy thuộc vào nhu cầu của bạn, những điều này có thể giúp nhanh chóng cấu hình tiến độ
nhãn
Thêm nhãn vào thanh tiến trình của bạn bằng cách đặt văn bản trong
0________số 8
Chiều cao
Chúng tôi chỉ đặt giá trị
6 trên
7, vì vậy nếu bạn thay đổi giá trị đó, thì
0 bên trong sẽ tự động thay đổi kích thước cho phù hợp
1Tầng lớp
Sử dụng các lớp tiện ích nền để thay đổi giao diện của các thanh tiến trình riêng lẻ
2Nhiều thanh
Bao gồm nhiều thanh tiến trình trong một thành phần tiến trình nếu bạn cần
3sọc
Thêm
9 vào bất kỳ
0 nào để áp dụng một sọc qua CSS gradient trên màu nền của thanh tiến trình
hoạt hình sọc
Độ dốc sọc cũng có thể được làm động. Thêm
25%
1 vào
0 để tạo hoạt ảnh cho các sọc từ phải sang trái thông qua hoạt ảnh CSS3 Bạn có thể sử dụng các phần tử
90 và
91 của HTML5 để phát trực tuyến các tệp đa phương tiện mà không cần trình cắm riêngSử dụng JavaScript, quá trình phát lại có thể được kiểm soát bằng. Phần tử âm thanh và video được sử dụng làm phần tử phương tiện kế thừa tất cả các thuộc tính và phương thức của giao diện
92 [trong , và ứng dụng]Các tính năng chính của phần tử âm thanh và video với JavaScript bao gồm
Tạo Trình phát âm thanh và video
Để cung cấp cho người dùng các tính năng âm thanh và video HTML5, bạn phải học cách tạo trình phát đơn giản để phát lại trực tuyến
Để tạo trình phát âm thanh, hãy tạo phần tử
90 bao gồm các thuộc tính cần thiết
9Để tạo trình phát video, hãy tạo phần tử
91 bao gồm các thuộc tính cần thiết. Ngoài các thuộc tính có sẵn cho phần tử
90, bạn cũng có thể sử dụng các thuộc tính
96,
97 và
98
9Trình phát có điều khiển phát [điều khiển tích hợp được cung cấp trong trình duyệt] được tạo. Điều khiển chỉ hiển thị khi thêm thuộc tính
99. Nếu thuộc tính
98 không được xác định, khung hình đầu tiên của video sẽ được hiển thị trên màn hình trước khi phát lại. Hình dưới đây hiển thị trình phát video trước và trong khi phát lại
Lưu ý
Thuộc tính21 được đặt thành
22 theo mặc định, nghĩa là siêu dữ liệu phương tiện được tải tự động. Nếu bạn không muốn tải siêu dữ liệu, hãy đặt giá trị thuộc tính là
23 hoặc
24.
Lưu ý
Cân nhắc cẩn thận trước khi sử dụng tính năng25 [trong , và ứng dụng], tính năng tự động phát nội dung trong môi trường di động mà không cần sự tương tác của người dùng. Người dùng có thể phải đối mặt với phí gói Internet ngoài ý muốn hoặc các yếu tố gây nhiễu, chẳng hạn như việc phát lại bị dừng ngoài ý muốn.
Mã nguồn
Để biết mã nguồn hoàn chỉnh liên quan đến trường hợp sử dụng này, hãy xem các tệp sau
Để cung cấp cho người dùng các tính năng âm thanh và video HTML5, bạn phải học cách phát và tạm dừng các tệp phương tiện bằng các điều khiển tùy chỉnh
Tạo phần tử
91 và các nút được sử dụng để điều khiển phát và tạm dừng
2Nút Tạm dừng bị tắt cho đến khi sự kiện phát diễn ra
Xác định các chức năng của nút. Phát và tạm dừng tệp phương tiện bằng các phương pháp
27 và
28 của giao diện
92 [trong , và ứng dụng]Áp dụng trình xử lý sự kiện để phát hiện các sự kiện nút và phản ứng với chúng
Nhân vật. Phát tệp [chỉ trong ứng dụng dành cho thiết bị di động]
Mã nguồn
Để biết mã nguồn hoàn chỉnh liên quan đến trường hợp sử dụng này, hãy xem các tệp sau
Để cung cấp cho người dùng các tính năng âm thanh và video HTML5, bạn phải học cách truy xuất tổng thời lượng và thời gian phát của tệp phương tiện
Lưu ý
Chỉ có thể truy xuất siêu dữ liệu của tệp phương tiện nếu siêu dữ liệu đó được tải trong ứng dụng. Thuộc tính21 phải được đặt thành
22 hoặc thuộc tính
25 được đặt thành
53.
Tạo phần tử
91 và các phần tử để hiển thị tổng thời lượng và thời gian phát của tệp
5Áp dụng
55 cho đối tượng
91 để có được tổng thời lượng của tệpÁp dụng sự kiện truyền thông
57 cho đối tượng
91 để nhận thời gian phátĐể quản lý dữ liệu hiệu quả hơn, hãy chuyển đổi đơn vị thời gian thành đối tượng trình phân tích cú pháp JSON
Nhân vật. Hiển thị thời lượng và thời gian phát [chỉ trong ứng dụng dành cho thiết bị di động]
Mã nguồn
Để biết mã nguồn hoàn chỉnh liên quan đến trường hợp sử dụng này, hãy xem các tệp sau
Để cung cấp cho người dùng các tính năng âm thanh và video HTML5, bạn phải học cách di chuyển vị trí phát trên dòng thời gian
Tạo phần tử
91 và các nút được sử dụng để điều khiển dòng thời gian
3Thêm trình lắng nghe sự kiện để thay đổi giá trị
30 khi sự kiện
31 xảy ra trong các phần tử nútNếu siêu dữ liệu của tệp phương tiện được tải, bạn có thể di chuyển đến vị trí dòng thời gian được chỉ định ngay cả khi tệp phương tiện không phát. Để biết thêm thông tin, hãy xem Truy xuất thông tin phương tiện
Nhân vật. Di chuyển vị trí dòng thời gian [chỉ trong ứng dụng di động]
Mã nguồn
Để biết mã nguồn hoàn chỉnh liên quan đến trường hợp sử dụng này, hãy xem các tệp sau
Hiển thị trạng thái tiến độ
Để cung cấp cho người dùng các tính năng âm thanh và video HTML5, bạn phải học cách kiểm tra trạng thái tiến trình tải xuống của nội dung phương tiện
Tạo phần tử
91 và các phần tử để hiển thị trạng thái tiến trình tải xuống của tệp phương tiện
7Trong khi quá trình tải xuống đang diễn ra, hình ảnh
33 được hiển thịThuộc tính
34 của đối tượng
91 trả về một đối tượng đại diện cho phạm vi đệm đã tải xuống. Sử dụng thuộc tính
36 của đối tượng
37 để tìm thời gian kết thúc [tính bằng giây] của phạm vi được đệmSử dụng
38 để chuyển đổi thời gian kết thúc thành dạng phần trăm và hiển thị trạng thái tiến trình
4Nhân vật. Hiển thị trạng thái tiến trình [chỉ trong ứng dụng di động]
Mã nguồn
Để biết mã nguồn hoàn chỉnh liên quan đến trường hợp sử dụng này, hãy xem các tệp sau
Thay đổi kích thước màn hình video
Để cung cấp cho người dùng các tính năng âm thanh và video HTML5, bạn phải học cách thay đổi kích thước màn hình video
Lưu ý
Nếu kích thước màn hình bị giảm, điều khiển39 cơ bản có thể bị đặt sai vị trí. Do đó, không sử dụng thuộc tính
99 khi cung cấp điều khiển tùy chỉnh thay đổi kích thước.
Tạo phần tử
91 và các nút được sử dụng để kiểm soát kích thước màn hình
8Thêm trình lắng nghe sự kiện để thay đổi giá trị
96 và
97 khi sự kiện
31 xảy ra trong các phần tử nútNhân vật. Thay đổi kích thước màn hình video [chỉ trong ứng dụng di động]
Mã nguồn
Để biết mã nguồn hoàn chỉnh liên quan đến trường hợp sử dụng này, hãy xem các tệp sau
Tizen hỗ trợ các định dạng phương tiện sau
- Video. 3GP, AVI, ASF, OGV, MP4, MKV, WMV
- âm thanh. AAC, AMR, MP3, OGG, WAV, WMA
Để cung cấp cho người dùng các tính năng âm thanh và video HTML5, bạn phải học cách kiểm tra xem có thể phát dữ liệu phương tiện của loại MIME được chỉ định hay không
Tạo phần tử
91 và xác định tệp phương tiện bạn muốn kiểm tra
3Sử dụng phương pháp
76 [trong , và ứng dụng] để kiểm tra xem các tệp phương tiện đã chọn có loại MIME được chấp nhận hay không và có thể phát được không
Mã nguồn
Để biết mã nguồn hoàn chỉnh liên quan đến trường hợp sử dụng này, hãy xem các tệp sau
Xử lý lỗi
Để cung cấp cho người dùng các tính năng âm thanh và video HTML5, bạn phải học cách xử lý các lỗi có thể xảy ra trong quá trình phát lại
Tạo các thành phần video và nút, có thể gây ra lỗi
5Thêm trình xử lý sự kiện để phát hiện lỗi và kích hoạt thông báo lỗi
Mã nguồn
Để biết mã nguồn hoàn chỉnh liên quan đến trường hợp sử dụng này, hãy xem các tệp sau
Codec được hỗ trợ
Các bảng sau đây liệt kê các codec được hỗ trợ trong Tizen
Bàn. codec được hỗ trợ
TypeCodecEncoderDecoderVideoMPEG-1NoYesVideoMPEG-4 phần 2YesYesVideoMPEG-4 phần 2 MS v1NoYesVideoMPEG-4 phần 2 MS v2YesYesVideoMPEG-4 phần 2 MS v3YesYesVideoH. 264, H. 263-1996, H. 263+, H263-1998, H263 v2CóCóVideoH. 264, MPEG-4 AVC, MPEG-4 part10NoYesVideoWMV3NoYesVideoVC1NoYesVideoTHEORAYesYesAudioAACNoYesAudioMP3NoYesAudioWMA [Có sẵn tối đa WMA8. WMA9 không khả dụng. ]KhôngCóÂm thanhAMR-NBCóCóÂm thanhAMR-WBKhôngCóÂm thanhVORBISCóCó