私の問題は説明が簡単です - AudioRecordオブジェクトを作成しようとしていますが、初期化に失敗しています(つまり、コンストラクタの後にgetStateが0を返して失敗を示します)。私はMotoDroid 1 OS 2.2.1でEclipseから実行しています。私のAndroidManifest.xmlは(私はこれを確認する方法がわからない)、右許可、RECORD_AUDIOを使用して、私の知る限り、次のとおりです。毎回Android AudioRecordの初期化に失敗する
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<activity android:name=".SphinxMic"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
私はaudiorecordのを作成するために、次の手順を実行します
bufferSize = AudioRecord.getMinBufferSize(8000, CHANNEL_IN_MONO, ENCODING_PCM_8BIT);
audioRecorder = new AudioRecord(AudioSource.MIC, 8000, CHANNEL_IN_MONO, ENCODING_PCM_8BIT, 50*bufferSize);
if (audioRecorder.getState() != AudioRecord.STATE_INITIALIZED)
throw new Exception("AudioRecord init failed");
audioRecorder .getState()は0(つまりSTATE_UNINITIALIZED)を返します。
このAPIの使用例はありませんでした。私は非常にAndroidの初心者です。それがなぜ失敗するのか調べるために私は何ができますか?
似たような質問をしてくれる人は少なくありませんが、彼らが認めている修正が私を助けてくれなかったため、私とは異なる問題を抱えていたに違いありません。最も顕著なのはthisです。しかし、承認された解決策は困惑していて、とにかく私のためにはうまくいきませんでした。私はまた、モノラルとステレオの両方のビットレート(8000,16000,11025、44100)と8と16ビットのいろいろなビットレートを試しました。正常に初期化されたので、何も組み合わせが戻ってこない。
logcatとは何ですか? また、アプリケーションの外にuses-permissionを移動してみてください。それはマニフェストに座るべきです。 – techiServices
何らかの理由で、LogCatは数回の実行後にログ情報の大部分を表示しなくなりましたが、それは他の問題です。 私はあなたの使用許可のコメントに答えるためにフラグを立てていました...(それが機能していたので) – Dave