vista sistemas operativos modo google extension cómo cual crear con compatibilidad chrome activar google-chrome google-chrome-extension voice-recognition

google chrome - sistemas - ¿Las extensiones de Chrome son compatibles con la API de WebSpeech?



google chrome compatibilidad con sistemas operativos (2)

La API de Web Speech ya puede ser utilizada por las extensiones de Chrome, incluso en la página de fondo y las ventanas emergentes del botón de extensión. El hecho de que funcione no es necesariamente una característica intencionada, y ya he explicado cómo funciona y por qué funciona en esta respuesta a ¿Cómo usar la extensión webrtc insde google chrome? . La explicación anterior es sobre WebRTC, pero se aplica por igual a Web Speech, y se puede usar de la siguiente manera:

  1. Cree una instancia de webkitSpeechRecognition y comience a grabar.
  2. Si se detecta un error de permiso (el error se activa con event.error === ''not-allowed'' ), abra una página de extensión ( chrome-extension://[ID]/yourpage.html ). Esta página de extensión se puede abrir en una nueva ventana, pestaña o marco.
  3. Desde esta página, solicite acceso al micrófono. getUserMedia y SpeechRecognition comparten el permiso de audio (persistente), por lo que para detectar si se permite la grabación de audio, puede usar getUserMedia para solicitar el permiso sin activar el reconocimiento de voz. Por ejemplo:

    navigator.webkitGetUserMedia({ audio: true, }, function(stream) { stream.stop(); // Now you know that you have audio permission. Do whatever you want... }, function() { // Aw. No permission (or no microphone available). });

¿Las extensiones de Google Chrome son compatibles con la API de reconocimiento de voz de Web Speech de Chrome? He incluido algunos javascript para crear un objeto de reconocimiento de voz, pero cuando ejecuto mi extensión, no se me solicita el acceso al micrófono.

Esto no es un problema con mi código. He buscado en Google, pero no puedo encontrar información sobre si las extensiones de Chrome son compatibles con Web Speech API. Sólo quiero una respuesta de sí / no.

Nota: creo que la API WebSpeech no funcionará para archivos locales.


Actualización: según la respuesta de RobW , esta respuesta ya no está actualizada, y la API de Web Speech ahora se puede usar dentro de las extensiones. ( Desafortunadamente, no puedo eliminar esta respuesta a menos que el OP la rechace ) .

La respuesta aún no está. Páginas a las que se accede a través de chrome-extension: URL no pueden acceder a ninguna API de entrada de medios, incluidas speechRecognition y getUserMedia . Cualquier intento de utilizar las API activará inmediatamente una devolución de llamada de error.

Originalmente pensé que speechRecognition podría funcionar como la API de geolocation : las ventanas emergentes de extensión no pueden solicitar permisos de geolocalización, pero chrome-extension: páginas cargadas como páginas completas del navegador pueden solicitar permisos como una página normal. Sin embargo, las API de medios no se comportan de esta manera ; fallan independientemente de si la página es una ventana emergente o una página completa.

Hay un informe de error para solucionar esto y permitir a los desarrolladores especificar permisos de acceso a medios en el manifiesto. Cuando se soluciona este error, las extensiones pueden tener un permiso de conjunto de manifiesto que les otorga acceso automático de micrófono / video, por lo que la imposibilidad de solicitar permiso se convertirá en un problema (y, por lo tanto, las extensiones con los permisos de manifiesto adecuados podrán usarse libremente) la API de voz).