【发布时间】:2018-02-09 19:57:33
【问题描述】:
我正在尝试设置录音机,但我不断收到特定错误,我不知道为什么。在我的代码中,我在 startrecording() 方法之前和之后使用 Log 检查了录音机的状态。
ar = new AudioRecord(audiosource, sampleRate, channelConfiguration,
audioEncoding, buffersizebytes);
Log.d("info", "ar.getState() before = " + String.valueOf(ar.getState()));
ar.startRecording();
Log.d("info", "ar.getState() after = " +String.valueOf(ar.getState()));
当我运行应用程序时,我会在 logcat 中收到这些消息。
D/info﹕ ar.getState() before = 1
E/AudioRecord﹕ start() status -38
D/info﹕ ar.getState() after = 1
根据我在文档中阅读的内容,状态 1 可以对应于处于 RECORDSTATE_STOPPED 或 STATE_INITIALIZED 状态的录音机,这两种状态在调用 startRecording() 时都不应该导致问题。
我认为状态 -38 是 /* 未实现函数 */ 的 errno.h 代码,这是指 startRecording() 方法,还是在错误中指出 start() 函数不是 AudioRecorder 类的方法.
我尝试了多种方法来确保调用了 release() 函数,所以我认为这不是问题所在。
非常感谢任何帮助。
【问题讨论】:
标签: android android-audiorecord