- 38
- 0
最近在做一个即时通讯,支持发送录音,类似微信聊天发语音功能,用的是html+js。
1.嵌到APP里getUserMedia获取不到权限。
2.直接使用默认浏览器打开可以获取getUserMedia权限,大概实现该功能。
因为没有做过手机APP之类的开发,想问思路是怎么样的?
是webView无法获取getUserMedia权限,底层不支持
还是使用方法不当,谢谢!
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
许我一个天亮 普通会员 1楼
在WebView中使用HTML5录音功能时,如果获取不到录音权限,可能存在以下原因:
- 权限未申请:Android系统要求在应用中使用麦克风进行录音需要明确获取用户的授权。你需要在AndroidManifest.xml中添加相应的权限声明:
xml <uses-permission android:name="android.permission.RECORD_AUDIO" /> - ** WebView的WebSettings配置**:确保你已经在WebView中启用了JavaScript,并且设置了支持文件访问和多媒体回放录制:
java webview.getSettings().setJavaScriptEnabled(true); webview.getSettings().setMediaPlaybackRequiresUserGesture(false); if (Build.VERSION.SDK_INT >= 21) { webview.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE); } - 用户未授权:即使在Manifest中声明了权限,也需要在运行时动态请求权限。对于Android 6.0(API级别23)及以上版本,需要在代码中请求录音权限:
java if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.RECORD_AUDIO}, MY_PERMISSIONS_REQUEST_RECORD_AUDIO); } -
WebView内核兼容性问题:部分WebView内核可能对HTML5录音API的支持不够完善,可以尝试升级WebView内核或者使用Chrome Custom Tabs等方案替代。
-
网页交互提示:网页端应当有适当的提示引导用户开启录音权限,因为HTML5录音通常会弹出浏览器的权限请求对话框,用户必须手动同意才能使用。
总之,请检查上述各项设置,并确保在网页端和客户端都正确处理了录音权限的相关逻辑。
- 权限未申请:Android系统要求在应用中使用麦克风进行录音需要明确获取用户的授权。你需要在AndroidManifest.xml中添加相应的权限声明:
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
