首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android.media.AudioRecord;误差

android.media.AudioRecord;误差
EN

Stack Overflow用户
提问于 2017-07-03 14:16:11
回答 1查看 1.7K关注 0票数 1

我试图在android应用程序中为我的吉他做一个调谐器。为此,我必须使用库AudioRecord.java,,但是在校正时出现了一个错误:

代码语言:javascript
复制
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里我可以看到

代码语言:javascript
复制
import android.os.ServiceManager; cannot be resolved 

我能做些什么来改变这种状况呢?

EN

回答 1

Stack Overflow用户

发布于 2017-07-03 15:04:55

这一问题很可能与支持抽样率有关。下面的代码将为您提供一个谓词,用于检查是否支持所需的示例速率。

代码语言:javascript
复制
        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的答案

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44887867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档