2

Android アプリで Pure Data を使用してビート検出を行おうとしています。以前は基本的な機能が動作していましたが、コードをリファクタリングしてアプリを拡張した後、libpd は必要な AudioRecord インスタンスを適切に作成できません。ここに私が得ているエラーがあります:

[ android.media.AudioTrack ] getMinBufferSize(): Invalid channel configuration.
[ android.media.AudioTrack ] getMinBufferSize(): Invalid channel configuration.
set(): sampleRate 44100, channels 12, frameCount 8832
Could not get audio input for record source 1
Error creating AudioRecord instance: initialization check failed.
[ android.media.AudioRecord ] Error code -20 when initializing native AudioRecord object.
java.io.IOException: unable to initialize AudioRecord instance for sr: 44100, ch: 2, bufSize: 4416
set(): sampleRate 44100, channels 16, frameCount 8832
Could not get audio input for record source 1
Error creating AudioRecord instance: initialization check failed.
[ android.media.AudioRecord ] Error code -20 when initializing native AudioRecord object.
java.io.IOException: unable to initialize AudioRecord instance for sr: 44100, ch: 1, bufSize: 4416

エラーコード -20 はネイティブの初期化に失敗したことを意味するため、今何をすべきか途方に暮れています。マニフェストに RECORD_AUDIO 権限があります。何か提案はありますか?

4

1 に答える 1

1

以前に多くの開発を行っていて、おそらく AudioRecord をリリースするのを忘れていた場所で、そのエラーを見たことがあります。したがって、電話を再起動し、他の録音アプリを使用しないようにしてください.

ときどきアプリをクラッシュさせ、アプリが終了した後も音楽を再生できるように、これは、プロセスが強制終了された後でもハードウェアが悪い状態のままになる可能性がある状況の 1 つだと思います。

于 2012-06-14T18:21:23.887 に答える