小编Chr*_*ris的帖子

尝试初始化AudioRecord时"无法获取记录源1的音频输入"

尝试初始化和AudioRecord对象时,我一直收到此错误,试图使用Eclipse使用模拟器录制声音.

我尝试了各种比特采样率,8000是唯一有效的,但错误继续出现.我试过各种版本的sdk,1.5,1.6,2,2.2和2.3.1.(以及与AVD的组合).

这是代码:

       Log.v(TAG, "About to initialize recording");
   //int[] samplingRates = {44100, 22050, 16000, 11025, 8000};
   int[] samplingRates = {8000};

    for (int i = 0; i < samplingRates.length; ++i)
    {
        try
        {
            Log.d(TAG,"Trying sampling rate: " + samplingRates[i]);
            int min = AudioRecord.getMinBufferSize(samplingRates[i], 
                    AudioFormat.CHANNEL_CONFIGURATION_MONO,
                    //AudioFormat.CHANNEL_IN_MONO,
                    AudioFormat.ENCODING_PCM_16BIT);
            Log.d(TAG,"MinBufferSize: " + min);

            AudioRecord record = new AudioRecord(MediaRecorder.AudioSource.MIC, samplingRates[i],
                    AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, min);
            if (record.getState() == AudioRecord.STATE_INITIALIZED)
            {
                Log.d("Recorder", "Audio recorder initialised at " + record.getSampleRate());
                return record;
            }
            record.release();
            record = null;
        }
        catch …
Run Code Online (Sandbox Code Playgroud)

android

6
推荐指数
1
解决办法
8149
查看次数

标签 统计

android ×1