【问题标题】:getUserMedia Android Webview IonicgetUserMedia Android Webview 离子
【发布时间】:2015-05-10 03:17:59
【问题描述】:

我正在尝试通过使用 getUserMedia 获取 Android 设备的相机流来做一些基本的事情。据我了解,我正在运行的 Android Lollipop 应该支持此功能,但即使权限设置为允许视频和音频,我对媒体流的请求也会被自动拒绝。

所以我尝试使用带有 Ionic 的 Crosswalk,我可以获得媒体流。数据只是空的。据我了解,这应该得到支持。还有其他人有使用 Cordova / Ionic 获取相机视频流数据的经验吗?

【问题讨论】:

  • 您是否成功获取了麦克风数据?使用 AudioContext 和 ScriptNode 处理数据,但缓冲区包含所有零。设置权限并没有解决问题。

标签: android cordova android-camera ionic getusermedia


【解决方案1】:

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

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

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

【讨论】:

  • 你好 oaleynik,谢谢你的这篇文章。我的 ionic 应用程序也在尝试获取用户媒体,但是在完成了这里所说的所有操作之后,我的手机(Android、Nexus5)上的应用程序无法获取 getUserMedia(从 chrome 远程检查时我可以看到它)。你能帮我解决这个问题吗?将不胜感激!
  • 这对我有用!我还必须以编程方式触发提示以接受权限,否则用户将不得不转到应用程序设置并手动进行。
【解决方案2】:

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

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

var permissions = cordova.plugins.permissions;

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

permissions.requestPermissions(permList, permCallBackSuccess, permCallBackError);

我希望这对以后的人有所帮助,因为它为我节省了很多时间!

【讨论】:

  • 谢谢伙计。此外,对于 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
【解决方案3】:

问题已由https://github.com/MobileChromeApps/cordova-plugin-chrome-apps-audioCapture修复

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

现在可以使用audioContext.createScriptProcessor 处理麦克风流。

ps。看来,要使此功能起作用,仅RECORD_AUDIO 权限是不够的,该插件还使用了MODIFY_AUDIO_SETTINGS

【讨论】:

  • 我认为这仅适用于 AudioContext-我在 WebRTC 的上下文中使用我的应用程序,因此上述权限对我来说很好。很高兴知道这一点!
猜你喜欢
  • 1970-01-01
  • 2012-02-26
  • 1970-01-01
  • 1970-01-01
  • 2011-04-16
  • 1970-01-01
  • 2022-11-14
  • 1970-01-01
相关资源
最近更新 更多