Trình duyệt javascript phát âm thanh

- Thẻ được sử dụng để tạo "trình phát nhạc" cho trang web. used to make a "trình phát nhạc" cho trang web

Nội dung chính Hiển thị

  • 1) Thẻ trong HTML
  • 2) Các thuộc tính được sử dụng trong thẻ
  • 2. 1) Thuộc tính src
  • 2) Các thuộc tính được sử dụng trong thẻ
  • 2) Các thuộc tính được sử dụng trong thẻ
  • 2) Các thuộc tính được sử dụng trong thẻ
  • 2) Các thuộc tính được sử dụng trong thẻ
  • 2) Các thuộc tính được sử dụng trong thẻ
  • 2) Các thuộc tính được sử dụng trong thẻ

- Ví dụ. Bên dưới là một trình phát nhạc

- Để tạo một trình phát nhạc, thẻ phải được sử dụng kết hợp với thẻ để xác định tệp âm thanh mà bạn muốn phát

- Sử dụng bên dưới để tạo một chương trình phát nhạc giống như ví dụ phía trên.


<audio controls>
    <source src="../file/bell.mp3">
</audio>

Xem ví dụ

2) Các thuộc tính được sử dụng trong thẻ

- Thẻ có sáu thuộc tính cơ bản

- Dưới đây là bảng mô tả sơ lược về sáu thuộc tính đó

src

Xác định đường dẫn đến tệp âm thanh mà bạn muốn phát

điều khiển

Specify job "trình phát nhạc sẽ được hiển thị trên màn hình"

tự chạy

Thiết lập hành động. "sau khi trang web tải xong, trình phát nhạc sẽ tự động phát bản nhạc"
"sau khi trang web tải xong, trình phát nhạc sẽ tự động phát bản nhạc"

vòng

Thiết lập hành động "bản nhạc sẽ tự động được phát lại sau mỗi lần kết thúc"

tắt tiếng

Specify the player player will be default setting at mode "tắt tiếng"

tải trước

Specify the sound file has been loading same as at download page or not

2. 1) Thuộc tính src

- Sử dụng thuộc tính src để xác định đường dẫn đến tệp âm thanh mà bạn muốn phát

- Lưu ý. "Đường dẫn đến tập tin âm thanh mà bạn muốn phát" có thể được xác định bằng đường dẫn tương đối hoặc đường dẫn tuyệt đối

Phần tử

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
0 cho phép bạn chỉ định các tệp âm thanh thay thế mà trình duyệt có thể chọn từ. Trình duyệt sẽ sử dụng định dạng được công nhận đầu tiên

Văn bản giữa các thẻ

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
1 và
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
2 sẽ chỉ được hiển thị trong các trình duyệt không hỗ trợ phần tử
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
1

Quay video/âm thanh đã là "Chén thánh" của phát triển web trong một thời gian dài. Trong nhiều năm, chúng tôi đã phải dựa vào các plugin của trình duyệt (Flash hoặc Silverlight) để hoàn thành công việc. Nào

HTML5 để giải cứu. Nó có thể không rõ ràng, nhưng sự gia tăng của HTML5 đã mang lại sự gia tăng quyền truy cập vào phần cứng thiết bị. Định vị địa lý (GPS), API định hướng (máy đo gia tốc), WebGL (GPU) và API âm thanh trên web (phần cứng âm thanh) là những ví dụ hoàn hảo. Các tính năng này cực kỳ mạnh mẽ, hiển thị các API JavaScript cấp cao nằm trên các khả năng phần cứng cơ bản của hệ thống

Hướng dẫn này giới thiệu một API mới, [____10][getusermedia-spec], cho phép các ứng dụng web truy cập máy ảnh và micrô của người dùng

Con đường dẫn đến getUserMedia() #

Nếu bạn không biết về lịch sử của nó, thì cách chúng tôi đến với API

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
1 là một câu chuyện thú vị

Một số biến thể của "API chụp phương tiện" đã phát triển trong vài năm qua. Nhiều người đã nhận ra nhu cầu có thể truy cập các thiết bị gốc trên web, nhưng điều đó đã khiến mọi người và mẹ của họ cùng nhau đưa ra một thông số kỹ thuật mới. Mọi thứ trở nên lộn xộn đến mức cuối cùng W3C quyết định thành lập một nhóm làm việc. Mục đích duy nhất của họ? . Nhóm làm việc về Chính sách API thiết bị (DAP) đã được giao nhiệm vụ hợp nhất + chuẩn hóa rất nhiều đề xuất

Tôi sẽ cố gắng tóm tắt những gì đã xảy ra trong năm 2011…

Vòng 1. Chụp phương tiện HTML #

HTML Media Capture là bước đầu tiên của DAP trong việc tiêu chuẩn hóa phương tiện chụp trên web. Nó hoạt động bằng cách nạp chồng

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
2 và thêm các giá trị mới cho tham số
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
3

Nếu bạn muốn cho phép người dùng chụp ảnh nhanh bằng webcam, điều đó có thể thực hiện được với

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
4

<input type="file" accept="image/*;capture=camera">

Ghi video hoặc âm thanh cũng tương tự

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">

Khá đẹp phải không? . Về mặt ngữ nghĩa, nó rất có ý nghĩa. Trường hợp "API" cụ thể này bị thiếu là khả năng thực hiện các hiệu ứng thời gian thực (e. g. hiển thị dữ liệu webcam trực tiếp thành

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
5 và áp dụng các bộ lọc WebGL). HTML Media Capture chỉ cho phép bạn ghi tệp phương tiện hoặc chụp ảnh nhanh trong thời gian

Ủng hộ

  • android3. 0 trình duyệt - một trong những triển khai đầu tiên. Kiểm tra video này để xem nó trong hành động
  • Chrome dành cho Android (0. 16)
  • Firefox Di động 10. 0
  • iOS6 Safari và Chrome (hỗ trợ một phần)

vòng 2. phần tử thiết bị #

Nhiều người cho rằng HTML Media Capture quá hạn chế, vì vậy một thông số kỹ thuật mới đã xuất hiện hỗ trợ mọi loại thiết bị (trong tương lai). Không có gì ngạc nhiên khi thiết kế yêu cầu một yếu tố mới, yếu tố

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
6, tiền thân của
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
1

Opera là một trong những trình duyệt đầu tiên tạo triển khai quay video ban đầu dựa trên phần tử

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
6. Ngay sau đó (chính xác là cùng ngày), WhatWG đã quyết định loại bỏ thẻ
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
6 để ủng hộ một người mới nổi khác, lần này là API JavaScript có tên là
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
0. Một tuần sau, Opera đưa ra các bản dựng mới bao gồm hỗ trợ cho thông số kỹ thuật
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
1 được cập nhật. Cuối năm đó, Microsoft đã tham gia bữa tiệc bằng cách phát hành Phòng thí nghiệm cho IE9 hỗ trợ thông số kỹ thuật mới

Đây là những gì

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
6 sẽ trông như thế nào

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
6

Ủng hộ

Thật không may, không có trình duyệt nào được phát hành bao gồm

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
6. Tôi đoán ít API hơn để lo lắng về. ) Mặc dù vậy,
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
6 đã có hai điều tuyệt vời. 1. ) đó là ngữ nghĩa và 2. ) nó có thể dễ dàng mở rộng để hỗ trợ không chỉ các thiết bị âm thanh/video

Hít một hơi. Công cụ này di chuyển nhanh

vòng 3. WebRTC #

Yếu tố

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
6 cuối cùng đã đi theo con đường của Dodo

Tốc độ tìm API chụp phù hợp được tăng tốc nhờ nỗ lực lớn hơn [WebRTC][webrtc-spec] (Truyền thông thời gian thực trên web). Thông số kỹ thuật đó được giám sát bởi Nhóm làm việc W3C WebRTC. Google, Opera, Mozilla và một số khác đã triển khai

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
1 có liên quan đến WebRTC vì nó là cổng vào bộ API đó. Nó cung cấp phương tiện để truy cập luồng camera/micrô cục bộ của người dùng

Ủng hộ

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
1 đã được hỗ trợ kể từ Chrome 21, Opera 18 và Firefox 17

Bắt đầu #

Với

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
0, cuối cùng chúng ta cũng có thể sử dụng đầu vào webcam và micrô mà không cần plugin. Truy cập máy ảnh bây giờ là một cuộc gọi, không phải cài đặt. Nó được nướng trực tiếp vào trình duyệt. Vui mừng chưa?

Tính năng phát hiện #

Phát hiện tính năng là một kiểm tra đơn giản cho sự tồn tại của

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
69

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
4

Bạn cũng có thể sử dụng Modernizr để phát hiện

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
40 để tránh tiền tố nhà cung cấp tự nhảy

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
6

Giành quyền truy cập vào thiết bị đầu vào #

Để sử dụng webcam hoặc micrô, chúng tôi cần yêu cầu quyền. Tham số đầu tiên của

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
1 là một đối tượng chỉ định các chi tiết và yêu cầu cho từng loại phương tiện bạn muốn truy cập. Ví dụ: nếu bạn muốn truy cập webcam, tham số đầu tiên phải là
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
42. Để sử dụng cả micrô và máy ảnh, hãy vượt qua
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
43

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
0

ĐƯỢC RỒI. Vì vậy, những gì đang xảy ra ở đây? . Nó hoạt động cùng với những người bạn HTML5 khác của chúng tôi,

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
44 và
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
45. Lưu ý rằng chúng tôi không đặt thuộc tính
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
46 hoặc bao gồm các phần tử
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
47 trên phần tử
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
45. Thay vì cung cấp cho video một URL tới một tệp phương tiện, chúng tôi đang cung cấp cho nó một URL Blob thu được từ một đối tượng
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
49 đại diện cho webcam

Tôi cũng đang nói với

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
45 với
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
61, nếu không nó sẽ bị đóng băng ở khung hình đầu tiên. Thêm
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
62 cũng hoạt động như bạn mong muốn

Nếu bạn muốn thứ gì đó hoạt động trên nhiều trình duyệt, hãy thử cái này

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
0

Đặt giới hạn phương tiện (độ phân giải, chiều cao, chiều rộng) #

Tham số đầu tiên của

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
1 cũng có thể được sử dụng để chỉ định thêm các yêu cầu (hoặc ràng buộc) đối với luồng phương tiện được trả về. Ví dụ: thay vì chỉ cho biết bạn muốn có quyền truy cập cơ bản vào video (e. g.
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
64), bạn có thể yêu cầu thêm luồng là HD

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
3

Để biết thêm cấu hình, hãy xem API ràng buộc

Chọn nguồn truyền thông #

Trong Chrome 30 trở lên,

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
1 cũng hỗ trợ chọn nguồn video/âm thanh bằng API
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
66

Trong ví dụ này, micrô và máy ảnh cuối cùng được tìm thấy được chọn làm nguồn luồng nội dung nghe nhìn

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
6

Hãy xem bản trình diễn tuyệt vời của Sam Dutton về cách cho phép người dùng chọn nguồn phương tiện

Bảo vệ #

Một số trình duyệt hiển thị thanh thông tin khi gọi

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
1, cung cấp cho người dùng tùy chọn cấp hoặc từ chối quyền truy cập vào máy ảnh/micrô của họ. Thật không may, thông số kỹ thuật rất yên tĩnh khi nói đến bảo mật. Ví dụ: đây là hộp thoại cấp phép của Chrome

Trình duyệt javascript phát âm thanh
Hộp thoại cấp phép trong Chrome

Nếu ứng dụng của bạn đang chạy từ SSL (

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
68), thì quyền này sẽ tồn tại lâu dài. Nghĩa là, người dùng sẽ không phải cấp/từ chối quyền truy cập mỗi lần

Cung cấp dự phòng #

Đối với những người dùng không hỗ trợ cho

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
1, một tùy chọn là chuyển sang tệp video hiện có nếu API không được hỗ trợ và/hoặc lệnh gọi không thành công vì lý do nào đó