V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
skipkou
V2EX  ›  Android

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

  •  
  •   skipkou · 2021-01-12 16:38:46 +08:00 · 8704 次点击
    这是一个创建于 1447 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在遇到个问题就是,华为手机上,App 录屏的同时,再开启一个线程,做语音识别,发现后面这个语音识别的线程拿不到 mic 数据,其他手机都正常,大佬们有什么解决办法吗
    3 条回复    2021-01-13 14:07:53 +08:00
    gam2046
        1
    gam2046  
       2021-01-12 17:47:47 +08:00   ❤️ 1
    讲道理不需要再获取一次,如果使用 Java 层的 API,AudioRecord.read 方法获取的 PCM 数据直接复制一份给需要语言识别的地方就可以了。

    如果是 native 层用的 OpenSLES,其实也是类似的,系统返回的缓冲区自己拷贝一份
    AntoniotheFuture
        2
    AntoniotheFuture  
       2021-01-12 22:03:13 +08:00
    一楼正解
    skipkou
        3
    skipkou  
    OP
       2021-01-13 14:07:53 +08:00
    @gam2046
    @AntoniotheFuture
    感谢,已解决
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2794 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 14:32 · PVG 22:32 · LAX 06:32 · JFK 09:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.