华硕Tinkerboard 2S上Android原生代码无法创建AudioRecord及Picovoice初始化失败
在华硕Tinkerboard 2S上使用Picovoice时的音频初始化故障
报错日志
2023-10-20 20:58:02.838 282-520 AudioFlinger audioserver E createRecord() getInputForAttr return error -38 2023-10-20 20:58:02.838 5915-5994 IAudioFlinger com.hussell.dukebox E createRecord returned error -38 2023-10-20 20:58:02.838 5915-5994 AudioRecord com.hussell.dukebox E createRecord_l(336073480): AudioFlinger could not create record track, status: -38 2023-10-20 20:58:02.838 5915-5994 AudioRecord-JNI com.hussell.dukebox E Error creating AudioRecord instance: initialization check failed with status -38. 2023-10-20 20:58:02.839 5915-5994 android.me...udioRecord com.hussell.dukebox E Error code -20 when initializing native AudioRecord object. 2023-10-20 20:58:02.840 5915-5915 PorcupineManager com.hussell.dukebox E ai.picovoice.android.voiceprocessor.VoiceProcessorStateException: Audio recorder did not initialize successfully. Ensure you have acquired permission to record audio from the user.
已完成的排查步骤
- 已在Manifest中配置正确录音权限,设备已开启录音权限,应用首次安装时也请求了运行时权限
- 检查Java源码未发现问题,推测故障出在原生库层面
- 尝试在系统完全初始化后的不同时机执行初始化操作,问题未解决
- 测试过多个Android版本,故障依然存在
- 已在TinkerBoard论坛发帖求助,现针对系统层面问题再次咨询
新发现的线索
发现音频设备目录中缺少pcmC0D0p文件,当前目录内容如下:
crw-rw---- 1 system audio 116, 6 2013-01-18 08:50 controlC1 crw-rw---- 1 system audio 116, 8 2013-01-18 08:50 controlC2 crw-rw---- 1 system audio 116, 5 2013-01-18 08:50 pcmC1D0p crw-rw---- 1 system audio 116, 7 2013-01-18 08:50 pcmC2D0p crw-rw---- 1 system audio 116, 33 2013-01-18 08:50 timer
提问
直接修改这些音频设备文件的命名是否安全?能否解决当前的Picovoice初始化故障?
内容的提问来源于stack exchange,提问作者user10557996
相关产品推荐
相关产品推荐

