El acceso a dispositivos MIDI ahora requiere el permiso del usuario

François Beaufort
François Beaufort

La interfaz digital para instrumentos musicales (MIDI) es una forma estándar de comunicación entre instrumentos musicales electrónicos, hardware y computadoras. La API de Web MIDI permite que los sitios web controlen sintetizadores virtuales, baterías y otros instrumentos al conectarse al controlador o teclado MIDI del usuario.

Navegadores compatibles

  • 43
  • 79
  • 108
  • x

Origen

Debido a problemas de seguridad para acceder libremente a dispositivos MIDI conectados con la API de Web MIDI, el grupo de trabajo de audio de W3C solicitó un requisito de permiso explícito para todo el uso de la API de MIDI en la especificación de MIDI web. Este cambio, que antes solo se aplicaba para el uso avanzado de MIDI (mensajes SysEx) en Chrome, ahora también se extiende a las interacciones MIDI estándar.

Esto significa que toda la API de Web MIDI ahora está protegida detrás de un mensaje de permiso. Este cambio se lanzará de forma gradual a partir de Chrome 124.

Captura de pantalla del mensaje del permiso de MIDI web en Chrome.
Mensaje de permiso de MIDI web en Chrome.

En el siguiente código, se muestra cómo controlar la solicitud de permiso que se activa cuando se llama a navigator.requestMIDIAccess() cuando el usuario aún no otorgó acceso.

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.
  }
}

Solicita asistencia para mensajes SysEx con navigator.requestMIDIAccess({ sysEx: true }) solo si tu sitio web necesita esta función. Las cadenas de solicitud de permiso de Chrome podrían cambiar en el futuro.

Prueba

Este cambio se lanzará de forma gradual en Chrome 124. Es posible que debas ejecutar Chrome con el interruptor de línea de comandos --enable-features=BlockMidiByDefault para habilitarlo localmente en tu dispositivo.

Para probar el cambio, haz clic en los botones “MIDI” y “MIDI + SysEx” en el sitio web https://permission.site.

Navegadores compatibles

Para acceder a dispositivos MIDI, se requiere el permiso del usuario en los navegadores Chrome y Firefox.

Comentarios

El equipo de Chrome y la comunidad de estándares de la Web quieren conocer tu experiencia con este cambio. Envía comentarios sobre problemas existentes de GitHub o infórmalos nuevos.

Agradecimientos

Agradecemos a Michael Wilson por revisar esta publicación.