Mój problem jest prosty do wyjaśnienia - Próbuję utworzyć obiekt AudioRecord, ale nie uda się go zainicjować (tj. Po konstruktorze getState zwraca 0, sygnalizując niepowodzenie). Używam tego od Eclipse na MotoDroid 1 z systemem OS 2.2.1. Moja AndroidManifest.xml jest AFAIK, stosując odpowiednią zgodę, RECORD_AUDIO (nie wiem jak to potwierdzić):Inicjalizacja Android AudioRecord kończy się niepowodzeniem za każdym razem
<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>
I wykonaj następujące czynności, aby utworzyć 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() zwraca 0 (tj. STATE_UNINITIALIZED)
Nie znalazłem żadnych pełnych przykładów użycia tego API i jestem bardzo początkującym Androidem, więc rozwiązanie może być czymś prostym. Co mogę zrobić, aby dowiedzieć się, dlaczego się nie udaje?
Kilka osób zadało podobne pytania, ale musiały one mieć inne problemy niż ja, ponieważ poprawki, które zatwierdzili, nie pomogły mi. Przede wszystkim this. Ale zatwierdzone rozwiązanie jest kłopotliwe i i tak nie zadziałało. Próbowałem także różnych przepływności (8000, 16000, 11025, 44100), zarówno mono, jak i stereo oraz 8 i 16 bitów. Po pomyślnym zainicjowaniu nie powraca żadna kombinacja.
co mówi logcat? również próbować przenosić uses-permission z aplikacji. afaik powinien siedzieć w zamiarze. – techiServices
Z jakiegoś powodu program LogCat przestał wyświetlać większość informacji dziennika po kilku uruchomieniach - ale jest to zupełnie inny problem. Chciałbym oznaczyć twój komentarz dotyczący uprawnień do użytkowania jako odpowiedź ... jeśli to był jeden (ponieważ zadziałało!) – Dave