Fue*_*ers 5 audio android audiorecord
我正试图通过小型录音从服务中找到声压级,但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();
Run Code Online (Sandbox Code Playgroud)
会发生什么是recordInstance从未正确创建,所以当它到达结尾并调用recordInstance.startRecording()时,recordInstance仍为null.Android在定义中拒绝我的程序请求.有谁知道这些错误表明了什么?我在网上找不到列表.
谢谢
cha*_*imp 19
检查三件事:
您的权限(您需要授予RECORD_AUDIO权限)
你有没有运行过一次而没有调用recordInstance.release()?如果是这样,您可能已经占用了音频资源,在重新启动手机之前它可能无法运行.无论如何,我发现我的经验.
3.缓冲区大小.有一个静态方法AudioRecord.getMinBufferSize()