Hiện tại, để truy cập vào thiết bị MIDI cần có sự cho phép của người dùng

François Beaufort
François Beaufort

Giao diện kỹ thuật số cho nhạc cụ (MIDI) là một phương thức tiêu chuẩn để giao tiếp với các nhạc cụ điện tử, phần cứng và máy tính. API MIDI trên web cho phép các trang web điều khiển bộ tổng hợp ảo, máy trống hoặc các nhạc cụ khác bằng cách kết nối với bộ điều khiển hoặc bàn phím MIDI của người dùng.

Hỗ trợ trình duyệt

  • 43
  • 79
  • 108
  • x

Nguồn

Do vấn đề về bảo mật được phép truy cập thoải mái vào các thiết bị MIDI được kết nối bằng API Web MIDI, Nhóm hoạt động âm thanh của W3C đã đưa ra yêu cầu về quyền rõ ràng đối với mọi hoạt động sử dụng API MIDI trong quy cách MIDI trên web. Thay đổi này, trước đây chỉ áp dụng cho việc sử dụng MIDI nâng cao (thông báo SysEx) trong Chrome, giờ đây cũng sẽ áp dụng cho các hoạt động tương tác MIDI tiêu chuẩn.

Điều này có nghĩa là toàn bộ API Web MIDI hiện được kiểm soát sau một lời nhắc cấp quyền. Thay đổi này sẽ được triển khai từng bước kể từ Chrome 124.

Ảnh chụp màn hình lời nhắc cấp quyền sử dụng MIDI trên web trong Chrome.
Lời nhắc cấp quyền sử dụng MIDI trên web trong Chrome.

Mã sau đây cho bạn biết cách xử lý lời nhắc cấp quyền được kích hoạt bằng cách gọi navigator.requestMIDIAccess() khi người dùng chưa cấp quyền truy cập.

try {
  // Prompt user to access MIDI devices.
  const access = await navigator.requestMIDIAccess();
  // Get lists of available MIDI controllers...

} catch (error) {
  if (error.name === "SecurityError") {
    // The website is not allowed to control and reprogram MIDI devices.
  }
}

Chỉ yêu cầu hỗ trợ qua tin nhắn SysEx bằng navigator.requestMIDIAccess({ sysEx: true }) nếu trang web của bạn thực sự cần tính năng này. Chuỗi lời nhắc cấp quyền của Chrome có thể thay đổi trong tương lai.

Kiểm thử

Thay đổi này sẽ được triển khai dần trong Chrome 124. Bạn có thể cần chạy Chrome bằng nút chuyển dòng lệnh --enable-features=BlockMidiByDefault để bật Chrome cục bộ trên thiết bị của mình.

Kiểm tra thay đổi này trên trang web https://permission.site bằng cách nhấp vào nút "MIDI" và "MIDI + SysEx".

Hỗ trợ trình duyệt

Để truy cập thiết bị MIDI, bạn cần cho phép người dùng ở cả trình duyệt Chrome và Firefox.

Ý kiến phản hồi

Nhóm Chrome và cộng đồng tiêu chuẩn web muốn biết về trải nghiệm của bạn đối với sự thay đổi này. Cung cấp ý kiến phản hồi bằng cách nhận xét về các vấn đề hiện có hoặc gửi các vấn đề mới trên GitHub.

Xác nhận

Cảm ơn Michael Wilson đã đánh giá bài đăng này.