Android Media Recorder starten fehlgeschlagen Ausnahme
Ich habe Probleme mit der media-recorder in android. Ich bin mit der Aufzeichnung einer audio-arbeitet gut mit LG P500 aber der code funktioniert nicht auf Samsung GT - S5360. Ich bin immer Fehler wie start fehlgeschlagen -22.
Dies ist der code den ich verwende:
final MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(path);
try {
recorder.prepare();
recorder.start();
} catch (Exception e) { Log.d(TAG, "Exception : " + e); }
Beim Debuggen hab da null in logcat.
Bitte machen Sie mir einige Lösung.
- code oder logcat wird geschätzt. können wir nicht eine Lösung einfach so.
- Dies ist der code den ich verwende: final MediaRecorder recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setOutputFile(path); try { recorder.prepare(); recorder.start(); } catch(Exception e) { Log.d(TAG, "Exception :" + e) }
- Endlich habe ich die Lösung gefunden nach langem suchen, habe ich noch <uses-permission android:name="android.die Genehmigung.SPEICHER" /> Erlaubnis und jetzt ist mein code gut funktioniert.
- Wo haben Sie eine solche Erlaubnis? developer.android.com/reference/android/...
- Ich habe die gleiche Berechtigung in meinem manifest noch die app stürzt auf dem Rekorder.start()
Du musst angemeldet sein, um einen Kommentar abzugeben.
Genehmigung vorgeschlagen, durch die op hat bei mir nicht funktioniert, wahrscheinlich, weil es nicht vorhanden ist 🙂
Wenn Sie immer diese Fehlermeldung überprüfen Sie die Einrichtung des media Rekorders an. In meinem Fall hat es nur versäumt in einigen Geräten als auch. Ich Tat dies für alle Geräte mit Os-version > API 10:
Stellt sich heraus, dass das fehlerhafte Gerät lief JB aber nicht unterstützt wideband, so ändern Sie ihn auf raw/Schmalband gearbeitet:
Ich hatte das gleiche Problem, und ich habe versucht die Installation eines voice-recorder aus dem play store überprüfen. Es hat mir nicht erlauben, Sie zu erfassen VOICE_CALL zu. Ich erkannte einige Geräte-Hersteller bieten HIERFÜR keine Unterstützung. Also aufnehmen mit dem Mikrofon, wenn das Gerät nicht unterstützt VOICE_CALL.
Basiert auf den Kommentar von der eigentliche poster... schlug er seine Antwort in den Kommentar. Setzt das in eine tatsächliche Antwort, in der Hoffnung, dass es anderen hilft:
Dem OP Hinzugefügt, die folgende Berechtigung und seinen code funktionierte gut für ihn:
<uses-permission android:name="android.permission.STORAGE" />