我正在尝试录制一些小唱片,以从服务中找到声压级,但Android不会让我访问硬件。我在Logcat中收到以下错误:
错误来自以下代码:
AudioRecord recordInstance = null;
// We're important...
android.os.Process
.setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_AUDIO);
short bufferSize = 4096;// 2048;
recordInstance = new AudioRecord(MediaRecorder.AudioSource.MIC, this //line 167
.getFrequency(), this.getChannelConfiguration(), this
.getAudioEncoding(), bufferSize); //object not created
tempBuffer = new short[bufferSize];
recordInstance.startRecording();
发生的情况是从未正确创建recordInstance,因此当它到达结尾并调用recordInstance.startRecording()时,recordInstance仍为null。 Android在定义时拒绝了我的程序请求。有人知道那些errno表示什么吗?我找不到在线列表。
AudioRecord Docs
谢谢
最佳答案
检查三件事:
3.缓冲区大小。有一个静态方法AudioRecord.getMinBufferSize()