HTMLMediaElement: phương thức setSinkId()

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Phương thức setSinkId() của giao diện HTMLMediaElement đặt ID của thiết bị âm thanh sẽ sử dụng cho đầu ra và trả về Promise.

Điều này chỉ hoạt động khi ứng dụng được phép sử dụng thiết bị được chỉ định. Để biết thêm thông tin, hãy xem security requirements bên dưới.

Cú pháp

js
setSinkId(sinkId)

Tham số

Giá trị trả về

Promise phân giải thành undefined.

Ngoại lệ

  • NotAllowedError DOMException
  • : Được trả về nếu speaker-selection Permissions Policy được sử dụng để chặn việc sử dụng đầu ra âm thanh.
  • NotFoundError DOMException
  • : Được trả về nếu deviceId không khớp với bất kỳ thiết bị đầu ra âm thanh nào.
  • AbortError DOMException
  • : Được trả về nếu việc chuyển thiết bị đầu ra âm thanh sang thiết bị âm thanh mới không thành công.

Yêu cầu bảo mật

Quyền truy cập vào API phải tuân theo các ràng buộc sau:

  • Phương thức này phải được gọi theo dạng secure context.
  • Quyền truy cập có thể được kiểm soát bởi speaker-selection HTTP Permission Policy.
  • Cần có sự cho phép của người dùng để truy cập vào một thiết bị không mặc định. Người dùng cấp quyền bằng cách chọn thiết bị được liên kết với ID trong lời nhắc được hiển thị bởi MediaDevices.selectAudioOutput().

Ví dụ

Ví dụ này cho thấy cách chọn thiết bị đầu ra âm thanh từ mảng được trả về bởi MediaDevices.enumerateDevices() và đặt thiết bị này làm thiết bị thu âm thanh. Lưu ý rằng kết quả của enumerateDevices() chỉ bao gồm các thiết bị không cần có sự cho phép của người dùng hoặc đã được cấp.

js
const devices = await navigator.mediaDevices.enumerateDevices();
const audioDevice = devices.find((device) => device.kind === "audiooutput");
const audio = document.createElement("audio");
await audio.setSinkId(audioDevice.deviceId);
console.log(`Audio is being output on ${audio.sinkId}`);

Đặc tả kỹ thuật

Specification
Audio Output Devices API
# dom-htmlmediaelement-setsinkid

Tương thích trình duyệt

Xem thêm