getUserMedia Android Webview Ionic

Jac*_*Guy 4 android android-camera cordova getusermedia ionic

我试图通过getUserMedia获取Android设备的相机流来做一些基本的事情.根据我的理解,这应该在我运行的Android Lollipop上得到支持,但即使权限设置为允许视频和音频,我的媒体流请求也会被自动拒绝.

所以我尝试使用Crossonic和Ionic,我可以获得媒体流.数据只是空的.据我所知,这应该得到支持.有没有其他人有使用Cordova/Ionic获取相机视频流数据的经验?

oal*_*nik 8

确保您在platforms/android/AndroidManifest.xml中拥有RECORD_AUDIO和CAMERA权限:

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
Run Code Online (Sandbox Code Playgroud)

Cordova负责Cordova API的必要权限并将其添加到清单文件中,但不适用于HTML5 API.


Nic*_*erg 5

在Android权限更改之前,接受的答案肯定会有效.您现在可以在使用时请求使用本机功能(这比启动时更有意义)所以我强烈建议使用Android Permissions插件,它允许您以编程方式和按需检查和请求权限.

对于接受答案中的相同用例,您将执行以下操作:

var permissions = cordova.plugins.permissions;

var permList = [
  permissions.CAMERA,
  permissions.RECORD_AUDIO
];

permissions.requestPermissions(permList, permCallBackSuccess, permCallBackError);
Run Code Online (Sandbox Code Playgroud)

我希望这可以帮助有人在路上,因为它节省了我一大堆时间!

  • 谢啦.另外,对于Android 6来说还不够.您还需要在AndroidManifest.xml中复制权限.这是我的权限列表:permissions.CAMERA,permissions.MICROPHONE,permissions.MODIFY_AUDIO_SETTINGS,permissions.RECORD_AUDIO,permissions.CAPTURE_VIDEO_OUTPUT,permissions.CAPTURE_SECURE_VIDEO_OUTPUT,permissions.CAPTURE_AUDIO_OUTPUT (2认同)