getUserMedia Android Webview Ionic

Estoy intentando hacer algunas cosas básicas consiguiendo la corriente de la cámara de un dispositivo androide con getUserMedia. A mi entender, esto debe ser apoyado en Android Lollipop, que estoy corriendo, pero incluso con los permisos establecidos para permitir vídeo y audio mi solicitud de un flujo de medios se deniega automáticamente.

Así que traté de usar Crosswalk con Ionic, y puedo obtener el flujo de medios. Los datos están vacíos. A mi entender esto debe ser apoyado. ¿Alguien más tiene experiencia con la obtención de datos de flujo de vídeo de cámara con Cordova / Ionic?

3 Solutions collect form web for “getUserMedia Android Webview Ionic”

Asegúrese de que tiene permisos RECORD_AUDIO y CAMERA en las plataformas / android / AndroidManifest.xml:

<uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.CAMERA" /> 

Cordova se preocupa por los permisos necesarios para Cordova API y los agrega al archivo de manifiesto, pero no lo hace para HTML5 API.

La respuesta aceptada definitivamente habría funcionado antes de los cambios a los permisos de Android. Ahora puede solicitar el uso de funciones nativas en el momento del uso (lo que honestamente tiene más sentido que en el lanzamiento) así que recomiendo usar el complemento de permisos de Android que le permitirá comprobar y solicitar permisos mediante programación y bajo demanda.

Para el mismo caso de uso que está en la respuesta aceptada haría lo siguiente:

 var permissions = cordova.plugins.permissions; var permList = [ permissions.CAMERA, permissions.RECORD_AUDIO ]; permissions.requestPermissions(permList, permCallBackSuccess, permCallBackError); 

Espero que esto ayude a alguien en el camino ya que me ahorró un montón de tiempo!

El problema fue corregido por el https://github.com/MobileChromeApps/cordova-plugin-chrome-apps-audioCapture

 $ cordova plugin add cordova-plugin-chrome-apps-audiocapture --save $ cordova build $ cordova run android 

Ahora el flujo de micrófono puede procesarse con el audioContext.createScriptProcessor .

PD. Parece que para que esta función funcione, sólo el permiso RECORD_AUDIO no es suficiente, el complemento también usa MODIFY_AUDIO_SETTINGS

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.