关于同一个 Android 程序,开启多个线程同时访问麦克风的功能实现

2021-01-12 16:38:46 +08:00
 skipkou
现在遇到个问题就是,华为手机上,App 录屏的同时,再开启一个线程,做语音识别,发现后面这个语音识别的线程拿不到 mic 数据,其他手机都正常,大佬们有什么解决办法吗
5174 次点击
所在节点    Android
3 条回复
gam2046
2021-01-12 17:47:47 +08:00
讲道理不需要再获取一次,如果使用 Java 层的 API,AudioRecord.read 方法获取的 PCM 数据直接复制一份给需要语言识别的地方就可以了。

如果是 native 层用的 OpenSLES,其实也是类似的,系统返回的缓冲区自己拷贝一份
AntoniotheFuture
2021-01-12 22:03:13 +08:00
一楼正解
skipkou
2021-01-13 14:07:53 +08:00
@gam2046
@AntoniotheFuture
感谢,已解决

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/744243

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX