0

私はaudiorecordのインスタンスを取得しようとしていますが、私はエラーを取得:<AudioRecord>は、レコードソースのオーディオ入力を取得できませんでした1

レコードソース1

エラーaudiorecordのインスタンスを作成するためのオーディオ入力を取得できませんでした:初期化チェックに失敗しました。

ネイティブAudioRecordオブジェクトを初期化するときのエラーコード-20。ここで

私のサンプルコードは次のとおりです。

public class AudioCapturer { 
    AudioRecord recorder; 
    private int channelConfig = AudioFormat.CHANNEL_IN_STEREO; 
    private int audioFormat = AudioFormat.ENCODING_PCM_16BIT; 
    private static final int AUDIO_SAMPLE_RATE = 8000; 
    private static int[] mSampleRates = new int[] { 8000, 11025, 22050, 44100 }; 
    int bufferSize = AudioRecord.getMinBufferSize(mSampleRates[3], channelConfig, audioFormat); 


    protected void Start() { 
     new Thread(new Runnable() { 
       public void run() { 
        recorder = new AudioRecord(MediaRecorder.AudioSource.DEFAULT, mSampleRates[3], channelConfig, audioFormat, bufferSize); 
        Log.v("RECORDER","" +recorder.getState()); 
        recorder.startRecording(); 

        while(recorder.getRecordingState() == AudioRecord.RECORDSTATE_RECORDING) 
        { 
         byte [] buffer = new byte[bufferSize]; 
         Log.v("READ RESULT","" + recorder.read(buffer, 0, buffer.length)); 
        } 
       } 
      }).start(); 
    } 
} 

私は権限を追加しましたが、結果は同じです。
私の携帯電話のAPIのバージョンは18

+0

APIのバージョンとアクセス許可について教えてください。既知の問題のように聞こえます。あなたの許可を加えて、グラデルコードを作成してください。 – motis10

+0

はい私はあります。 AndroidManifest.xmlに入れました。 Sebastianor

答えて

0

あるおそらくあなたは

private int channelConfig = AudioFormat.CHANNEL_IN_STEREO; 

良い

private int channelConfig = AudioFormat.CHANNEL_IN_MONO; 

に対する解決策は、すべての可能なパラメータ値の組み合わせに至るまでループするだろう変更する問題を解決することができます作業の組み合わせを選択します。 AudioRecord object not initializing

+0

結果は変わりません。他のAndroidバージョンでも確認しましたが、Android 7.0では動作しますが4.3では動作しません – Sebastianor

+0

異なる組み合わせのパラメータを試そうとしましたか? –

+0

はい、私はしました。私はこのリンクで関数を使用しようとしました。 – Sebastianor

関連する問題