TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

AudioRecordの初期化失敗

ターゲットのAPIレベルを23にすると、
以下のエラーがでてAudioRecordの初期化が失敗するようになった。

E/AudioRecord: AudioFlinger could not create record track, status: -1
E/AudioRecord-JNI: Error creating AudioRecord instance: initialization check failed with status -1.
E/android.media.AudioRecord: Error code -20 when initializing native AudioRecord object.
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main

Caused by: java.lang.IllegalStateException: startRecording() called on an uninitialized AudioRecord.

APIレベルを22に戻すと発生しなくなる。

リファレンスのAudioFormatの説明に、Android Mで仕様が変わったようなことが書いてあるので、
それが影響してそうだ。
ただ読んでもよくわからないので、
ターゲットのAPIレベルを22にして回避することにする。