java.lang.RuntimeException: starten fehlgeschlagen
Ich versuche zur Aufzeichnung von audio in einer meiner Tätigkeiten mit MediaRecorder. Ein Teil der code ist unten dargestellt.
File file = new File(AppConstants.MSGS_DIR, filename);
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(AudioSource.MIC);
recorder.setOutputFormat(OutputFormat.THREE_GPP);
recorder.setAudioEncoder(AudioEncoder.AMR_WB);
recorder.setOutputFile(file.getAbsolutePath());
try {
recorder.prepare();
recorder.start();
} catch (IOException e) {
System.out.println("Exception: " + e.getMessage());
}
Habe ich angesichts der folgenden Berechtigungen in der manifest-Datei.
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
aber in der Zeile recorder.start() ich bin immer der Laufzeit-exception. Logcat zeigt die folgenden Fehlermeldungen an.
09-23 15:47:54.462: E/AndroidRuntime(8697): FATAL EXCEPTION: main
09-23 15:47:54.462: E/AndroidRuntime(8697): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mypackage/com.mypackage.RecordingActivity}: java.lang.RuntimeException: start failed.
09-23 15:47:54.462: E/AndroidRuntime(8697): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2250)
09-23 15:47:54.462: E/AndroidRuntime(8697): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2300)
09-23 15:47:54.462: E/AndroidRuntime(8697): at android.app.ActivityThread.access$600(ActivityThread.java:144)
09-23 15:47:54.462: E/AndroidRuntime(8697): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1295)
09-23 15:47:54.462: E/AndroidRuntime(8697): at android.os.Handler.dispatchMessage(Handler.java:99)
09-23 15:47:54.462: E/AndroidRuntime(8697): at android.os.Looper.loop(Looper.java:150)
09-23 15:47:54.462: E/AndroidRuntime(8697): at android.app.ActivityThread.main(ActivityThread.java:5162)
09-23 15:47:54.462: E/AndroidRuntime(8697): at java.lang.reflect.Method.invokeNative(Native Method)
09-23 15:47:54.462: E/AndroidRuntime(8697): at java.lang.reflect.Method.invoke(Method.java:525)
09-23 15:47:54.462: E/AndroidRuntime(8697): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:744)
09-23 15:47:54.462: E/AndroidRuntime(8697): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
09-23 15:47:54.462: E/AndroidRuntime(8697): at dalvik.system.NativeStart.main(Native Method)
09-23 15:47:54.462: E/AndroidRuntime(8697): Caused by: java.lang.RuntimeException: start failed.
09-23 15:47:54.462: E/AndroidRuntime(8697): at android.media.MediaRecorder.start(Native Method)
09-23 15:47:54.462: E/AndroidRuntime(8697): at com.mypackage.RecordingActivity.startRecording(RecordingActivity.java:169)
09-23 15:47:54.462: E/AndroidRuntime(8697): at com.mypackage.RecordingActivity.onCreate(RecordingActivity.java:107)
09-23 15:47:54.462: E/AndroidRuntime(8697): at android.app.Activity.performCreate(Activity.java:5288)
09-23 15:47:54.462: E/AndroidRuntime(8697): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
09-23 15:47:54.462: E/AndroidRuntime(8697): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2214)
Versucht, die Fragen entsprechend der Fehler in stackoverflow aber nicht den Schluss zu, eine gültige Antworten von Ihnen. Bitte prüfen Sie dies und helfen Sie mir, was läuft falsch im code.
FYI> dieses Stück code, die versagt haben, nur bestimmte Geräte. Bin ich fehlt jegliche zusätzliche Berechtigungen?
stackoverflow.com/a/10497885/1777090
Ich bin auf der Suche nach audio-Aufnahme, die ich fühle, nichts zu tun mit der Breite und Höhe. Die Antwort, die Sie ponited out für video-Aufnahme 🙂
dieses Stück code, die versagt haben, nur bestimmte Geräte - Sie können mehr details über diese Geräte. Wie, was ist die Plattform-version auf?
Code funktioniert nicht in der Geräte:<i> sony ericson version 4.0.3, ASUS Genfone der version 4.3</i>. Code-Ordnung, die in der Moto-g 4.4.4, Anmerkung 2 OS-version 4.4.2.
AppConstants.MSGS_DIR = Umgebung.getExternalStorageDirectory().getPath() + "/MYAppFolder/"; und der Dateiname ist einige zufällige Zeichenfolge. Ich bin in der Lage, um den Ordner zu erstellen und die Datei (mit fileName0 in diesem Ordner erfolgreich, aber nicht in der Lage zu schreiben, alle Daten auf es.
Ich bin auf der Suche nach audio-Aufnahme, die ich fühle, nichts zu tun mit der Breite und Höhe. Die Antwort, die Sie ponited out für video-Aufnahme 🙂
dieses Stück code, die versagt haben, nur bestimmte Geräte - Sie können mehr details über diese Geräte. Wie, was ist die Plattform-version auf?
AudioEncoder.AMR_WB
ist erst ab API10.Code funktioniert nicht in der Geräte:<i> sony ericson version 4.0.3, ASUS Genfone der version 4.3</i>. Code-Ordnung, die in der Moto-g 4.4.4, Anmerkung 2 OS-version 4.4.2.
AppConstants.MSGS_DIR = Umgebung.getExternalStorageDirectory().getPath() + "/MYAppFolder/"; und der Dateiname ist einige zufällige Zeichenfolge. Ich bin in der Lage, um den Ordner zu erstellen und die Datei (mit fileName0 in diesem Ordner erfolgreich, aber nicht in der Lage zu schreiben, alle Daten auf es.
InformationsquelleAutor Jeeri | 2014-09-23
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einige der Geräte sind nicht zu unterstützen weil Sie nicht die Unterstützung 3GP-format sowie AudioEncoder.AMR_WB-Codierung. Klicken Sie auf hier , überprüfen Sie die unterstützten Formate.
Bitte folgenden code verwenden, die unterstützen die maximale Anzahl von Geräten.
Was über android M??
Die es Standardmäßig für jedes Gerät ?. wie unten Rekorder.setOutputFormat(OutputFormat.STANDARD); recorder.setAudioEncoder(AudioEncoder.STANDARD);
InformationsquelleAutor Jeeri
Wenn Sie mit Api-23 dann die Erlaubnis erteilt erst dann die Aufnahme starten
InformationsquelleAutor Dhara Patel