我试图在android应用程序中为我的吉他做一个调谐器。为此,我必须使用库AudioRecord.java,,但是在校正时出现了一个错误:
07-03 13:48:49.041 2391-2426/? E/AudioRecord: AudioFlinger could not create record track, status: -1
07-03 13:48:49.044 2391-2426/? E/AudioRecord-JNI: Error creating AudioRecord instance: initialization check failed with status -1.
07-03 13:48:49.044 2391-2426/? E/android.media.AudioRecord: Error code -20 when initializing native AudioRecord object.
--------- beginning of crash
07-03 13:48:49.046 2391-2426/? E/AndroidRuntime: FATAL EXCEPTION: Thread-5
Process: com.example.gaetan.tuner, PID: 2391
java.lang.IllegalStateException: startRecording() called on an uninitialized AudioRecord.
at android.media.AudioRecord.startRecording(AudioRecord.java:976)
at com.example.gaetan.tuner.audio.CaptureThread.run(CaptureThread.java:34)在AudioRecord.java里我可以看到
import android.os.ServiceManager; cannot be resolved 我能做些什么来改变这种状况呢?
发布于 2017-07-03 15:04:55
这一问题很可能与支持抽样率有关。下面的代码将为您提供一个谓词,用于检查是否支持所需的示例速率。
int sampleRate = 44100;
int bufferSize = AudioRecord.getMinBufferSize(44100, AudioFormat.CHANNEL_CONFIGURATION_DEFAULT, AudioFormat.ENCODING_PCM_16BIT);
if (bufferSize > 0) {
//the sample rate is supported so create your AudioRecord
} else {
// sample size is not supported
}有关支持多个采样率的更高级版本,请参见给定的here的答案
https://stackoverflow.com/questions/44887867
复制相似问题