Navigator: phương thức requestMIDIAccess()
Khả dụng hạn chế
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Phương thức requestMIDIAccess() của giao diện Navigator trả về Promise thể hiện yêu cầu truy cập vào thiết bị MIDI trên hệ thống của người dùng.
Phương pháp này là một phần của Web MIDI API, cung cấp phương tiện để truy cập, liệt kê và thao tác với các thiết bị MIDI.
Phương pháp này có thể nhắc người dùng truy cập vào các thiết bị MIDI có sẵn trong hệ thống của họ hoặc có thể sử dụng tùy chọn đã thiết lập trước đó để cấp hoặc từ chối quyền truy cập.
Nếu được cấp quyền thì Promise sẽ phân giải và trả về đối tượng MIDIAccess.
Cú pháp
requestMIDIAccess()
requestMIDIAccess(MIDIOptions)
Thông số
MIDIOptionsOptional-
Objectthể hiện các tùy chọn để chuyển vào phương thức. Các tùy chọn này là:
Giá trị trả về
Promise phân giải bằng đối tượng MIDIAccess.
Ngoại lệ
AbortErrorDOMException-
Bị ném nếu tài liệu hoặc trang bị đóng do điều hướng của người dùng.
InvalidStateErrorDOMException-
Bị ném nếu hệ thống cơ bản phát sinh bất kỳ lỗi nào.
NotSupportedErrorDOMException-
Bị loại bỏ nếu tính năng hoặc tùy chọn không được hệ thống hỗ trợ.
NotAllowedErrorDOMException-
Bị ném nếu người dùng hoặc hệ thống từ chối ứng dụng tạo đối tượng MIDIAccess với các tùy chọn được yêu cầu hoặc nếu tài liệu không được phép sử dụng tính năng này (ví dụ: do Permission Policy hoặc do người dùng trước đó đã từ chối yêu cầu cấp phép).
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 trong secure context.
- Quyền truy cập có thể được kiểm soát bởi
midiHTTP Permission Policy. - Người dùng phải cấp quyền rõ ràng để sử dụng API thông qua cơ chế cụ thể cho tác nhân người dùng hoặc đã được cấp quyền trước đó. Lưu ý rằng nếu quyền truy cập bị từ chối bởi chính sách cấp phép thì quyền truy cập đó không thể được cấp bởi người dùng.
Trạng thái quyền có thể được truy vấn bằng phương thức Permissions API navigator.permissions.query(), chuyển bộ mô tả quyền với quyền midi và thuộc tính sysex (tùy chọn):
navigator.permissions.query({ name: "midi", sysex: true }).then((result) => {
if (result.state === "granted") {
// Access granted.
} else if (result.state === "prompt") {
// Using API will prompt for permission
}
// Permission was denied by user prompt or permission policy
});
Ví dụ
>Yêu cầu quyền truy cập MIDI
Trong ví dụ sau, phương thức Navigator.requestMIDIAccess() trả về đối tượng MIDIAccess, đối tượng này cho phép truy cập thông tin về cổng MIDI đầu vào và đầu ra.
navigator.requestMIDIAccess().then((access) => {
// Get lists of available MIDI controllers
const inputs = access.inputs.values();
const outputs = access.outputs.values();
// …
});
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Web MIDI API> # dom-navigator-requestmidiaccess> |