9
votes

Android MediaPlayer Préparez-vous échoué: Status = 0x1

Je construis un enregistreur audio qui doit lire le son enregistré. Je rencontre beaucoup de difficulté à jouer à l'audio. Je sais que le fichier existe parce que je l'ai isolé dans un dossier sur ma carte SD, mais pour une raison quelconque, il ne peut pas y lire.

Voici mon code: P>

03-20 00:33:40.963: E/MediaPlayer(21268): error (1, -2147483648)
03-20 00:33:40.963: E/java.io.IOException(21268): Prepare failed.: status=0x1
03-20 00:33:40.963: E/java.io.IOException(21268): java.io.IOException: Prepare failed.: status=0x1
03-20 00:33:40.963: E/java.io.IOException(21268):   at android.media.MediaPlayer.prepare(Native Method)
03-20 00:33:40.963: E/java.io.IOException(21268):   at com.packagename.soundrecorder.RecorderEditActivity$1.onClick(RecorderEditActivity.java:56)
03-20 00:33:40.963: E/java.io.IOException(21268):   at android.view.View.performClick(View.java:4204)
03-20 00:33:40.963: E/java.io.IOException(21268):   at android.view.View$PerformClick.run(View.java:17355)
03-20 00:33:40.963: E/java.io.IOException(21268):   at android.os.Handler.handleCallback(Handler.java:725)
03-20 00:33:40.963: E/java.io.IOException(21268):   at android.os.Handler.dispatchMessage(Handler.java:92)
03-20 00:33:40.963: E/java.io.IOException(21268):   at android.os.Looper.loop(Looper.java:137)
03-20 00:33:40.963: E/java.io.IOException(21268):   at android.app.ActivityThread.main(ActivityThread.java:5041)
03-20 00:33:40.963: E/java.io.IOException(21268):   at java.lang.reflect.Method.invokeNative(Native Method)
03-20 00:33:40.963: E/java.io.IOException(21268):   at java.lang.reflect.Method.invoke(Method.java:511)
03-20 00:33:40.963: E/java.io.IOException(21268):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
03-20 00:33:40.963: E/java.io.IOException(21268):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
03-20 00:33:40.963: E/java.io.IOException(21268):   at dalvik.system.NativeStart.main(Native Method)


3 commentaires

Dans votre code MediaPlayer objet est créé deux fois à savoir une fois en dehors des boucles puis dans onClick . Avez-vous essayé de supprimer le MediaPlayer objet avant la balise getInstance appel?


s'il vous plaît poster le fichier que vous essayez de jouer


avez-vous dans votre fichier manifest?


3 Réponses :


4
votes

Je pense que vous êtes confronté à la question en raison d'un DataSource incorrect sur votre MediaPlayer . Pouvez-vous s'il vous plaît essayer votre setdatasource avec les modifications suivantes xxx

Je pense avec ce changement, votre code doit fonctionner correctement

modifier : S'il vous plaît vérifier cet article MediaPlayer Préparation à l'échec pour plus de détails sur la raison derrière le préfixe Fichier: // à votre nom de fichier.


0 commentaires

7
votes

Je l'ai compris: Des erreurs stupides comme d'habitude. J'ai oublié d'ajouter la permission de la mémoire externe en lecture, et j'ai de manière viable de remercier ce correctif en raison de votre commentaire ci-dessus. L'autre chose était que je n'ai pas appelé gettext () sur ma date textview, donc il n'a donc pas défini correctement le nom du fichier.


1 commentaires

Pourriez-vous accepter cela comme la réponse valide s'il vous plaît? Merci.



1
votes

J'espère code suivant aide:

String soundPath = Environment.getExternalStorageDirectory().getPath() + "test/" + date.toString() + ".mp3";
mediaPlayer.setDataSource(soundPath);


0 commentaires