Autore Topic: Errori Mediaplayer  (Letto 880 volte)

Offline GennyAndroid

  • Utente junior
  • **
  • Post: 115
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Ace
  • Play Store ID:
    Gennaro Petito
  • Sistema operativo:
    Windows 7
Errori Mediaplayer
« il: 17 Aprile 2012, 09:35:43 CEST »
0
Salve raga ho cercato un pò in giro e non ho trovato nulla di simile quindi posto una nuova discussione:

Sto creando un'applicazione che prevede l'utilizzo della classe Media Player, l'applicazione è quasi terminata dopo 2 settimane di lavoro, testata su vai avd tutto perfetto, testata su samsung galaxy s II tutto ok, ma quando l'ho provata su galaxy next riscontro un problema insolito riguardante la classe Media Player

questo è il logcat :

Codice (Java): [Seleziona]
04-16 18:34:27.279: I/ApplicationPackageManager(1545): cscCountry is not German : TIM
04-16 18:35:32.579: I/ApplicationPackageManager(1545): cscCountry is not German : TIM
04-16 18:44:58.079: I/ApplicationPackageManager(1545): cscCountry is not German : TIM
04-16 18:45:01.229: W/IInputConnectionWrapper(1545): showStatusIcon on inactive InputConnection
04-16 18:55:58.699: I/ApplicationPackageManager(2134): cscCountry is not German : TIM
04-16 18:56:04.819: I/ApplicationPackageManager(2134): cscCountry is not German : TIM
04-16 18:56:06.209: I/ApplicationPackageManager(2134): cscCountry is not German : TIM
04-16 18:56:08.479: I/ApplicationPackageManager(2134): cscCountry is not German : TIM
04-16 18:56:10.519: I/ApplicationPackageManager(2134): cscCountry is not German : TIM
04-16 18:56:12.199: I/ApplicationPackageManager(2134): cscCountry is not German : TIM
04-16 18:56:12.369: W/MediaPlayer(2134): info/warning (1, 44)
04-16 18:56:12.489: I/MediaPlayer(2134): Info (1,44)
04-16 18:56:17.409: W/KeyCharacterMap(2134): No keyboard for id 0
04-16 18:56:17.409: W/KeyCharacterMap(2134): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
04-16 18:56:22.009: I/ApplicationPackageManager(2134): cscCountry is not German : TIM
04-16 18:56:22.239: W/MediaPlayer(2134): info/warning (1, 44)
04-16 18:56:22.299: W/MediaPlayer(2134): info/warning (1, 44)
04-16 18:56:22.389: W/MediaPlayer(2134): info/warning (1, 44)
04-16 18:56:22.579: W/MediaPlayer(2134): info/warning (1, 44)
04-16 18:56:22.769: W/MediaPlayer(2134): info/warning (1, 44)
04-16 18:56:22.919: W/MediaPlayer(2134): info/warning (1, 44)
04-16 18:56:23.069: W/MediaPlayer(2134): info/warning (1, 44)
04-16 18:56:23.229: W/MediaPlayer(2134): info/warning (1, 26)
04-16 18:56:23.239: E/MediaPlayer(2134): error (1, -17)
04-16 18:56:23.239: D/MediaPlayer(2134): create failed:
04-16 18:56:23.239: D/MediaPlayer(2134): java.io.IOException: Prepare failed.: status=0x1
04-16 18:56:23.239: D/MediaPlayer(2134):        at android.media.MediaPlayer.prepare(Native Method)
04-16 18:56:23.239: D/MediaPlayer(2134):        at android.media.MediaPlayer.create(MediaPlayer.java:672)
04-16 18:56:23.239: D/MediaPlayer(2134):        at it.petitogennaro.sarabanda_competition.SiSalviChiPuo_PlayGo.onCreate(SiSalviChiPuo_PlayGo.java:167)
04-16 18:56:23.239: D/MediaPlayer(2134):        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-16 18:56:23.239: D/MediaPlayer(2134):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
04-16 18:56:23.239: D/MediaPlayer(2134):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
04-16 18:56:23.239: D/MediaPlayer(2134):        at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-16 18:56:23.239: D/MediaPlayer(2134):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
04-16 18:56:23.239: D/MediaPlayer(2134):        at android.os.Handler.dispatchMessage(Handler.java:99)
04-16 18:56:23.239: D/MediaPlayer(2134):        at android.os.Looper.loop(Looper.java:130)
04-16 18:56:23.239: D/MediaPlayer(2134):        at android.app.ActivityThread.main(ActivityThread.java:3687)
04-16 18:56:23.239: D/MediaPlayer(2134):        at java.lang.reflect.Method.invokeNative(Native Method)
04-16 18:56:23.239: D/MediaPlayer(2134):        at java.lang.reflect.Method.invoke(Method.java:507)
04-16 18:56:23.239: D/MediaPlayer(2134):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
04-16 18:56:23.239: D/MediaPlayer(2134):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
04-16 18:56:23.239: D/MediaPlayer(2134):        at dalvik.system.NativeStart.main(Native Method)
04-16 18:56:23.419: W/MediaPlayer(2134): info/warning (1, 26)
04-16 18:56:23.439: E/MediaPlayer(2134): error (1, -17)
04-16 18:56:23.449: D/MediaPlayer(2134): create failed:
04-16 18:56:23.449: D/MediaPlayer(2134): java.io.IOException: Prepare failed.: status=0x1
04-16 18:56:23.449: D/MediaPlayer(2134):        at android.media.MediaPlayer.prepare(Native Method)
04-16 18:56:23.449: D/MediaPlayer(2134):        at android.media.MediaPlayer.create(MediaPlayer.java:672)
04-16 18:56:23.449: D/MediaPlayer(2134):        at it.petitogennaro.sarabanda_competition.SiSalviChiPuo_PlayGo.onCreate(SiSalviChiPuo_PlayGo.java:167)
04-16 18:56:23.449: D/MediaPlayer(2134):        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-16 18:56:23.449: D/MediaPlayer(2134):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
04-16 18:56:23.449: D/MediaPlayer(2134):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
04-16 18:56:23.449: D/MediaPlayer(2134):        at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-16 18:56:23.449: D/MediaPlayer(2134):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
04-16 18:56:23.449: D/MediaPlayer(2134):        at android.os.Handler.dispatchMessage(Handler.java:99)
04-16 18:56:23.449: D/MediaPlayer(2134):        at android.os.Looper.loop(Looper.java:130)
04-16 18:56:23.449: D/MediaPlayer(2134):        at android.app.ActivityThread.main(ActivityThread.java:3687)
04-16 18:56:23.449: D/MediaPlayer(2134):        at java.lang.reflect.Method.invokeNative(Native Method)
04-16 18:56:23.449: D/MediaPlayer(2134):        at java.lang.reflect.Method.invoke(Method.java:507)
04-16 18:56:23.449: D/MediaPlayer(2134):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
04-16 18:56:23.449: D/MediaPlayer(2134):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
04-16 18:56:23.449: D/MediaPlayer(2134):        at dalvik.system.NativeStart.main(Native Method)
04-16 18:56:23.599: W/MediaPlayer(2134): info/warning (1, 26)
04-16 18:56:23.599: E/MediaPlayer(2134): error (1, -17)
04-16 18:56:23.609: D/MediaPlayer(2134): create failed:
04-16 18:56:23.609: D/MediaPlayer(2134): java.io.IOException: Prepare failed.: status=0x1
04-16 18:56:23.609: D/MediaPlayer(2134):        at android.media.MediaPlayer.prepare(Native Method)
04-16 18:56:23.609: D/MediaPlayer(2134):        at android.media.MediaPlayer.create(MediaPlayer.java:672)
04-16 18:56:23.609: D/MediaPlayer(2134):        at it.petitogennaro.sarabanda_competition.SiSalviChiPuo_PlayGo.onCreate(SiSalviChiPuo_PlayGo.java:167)
04-16 18:56:23.609: D/MediaPlayer(2134):        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-16 18:56:23.609: D/MediaPlayer(2134):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
04-16 18:56:23.609: D/MediaPlayer(2134):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
04-16 18:56:23.609: D/MediaPlayer(2134):        at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-16 18:56:23.609: D/MediaPlayer(2134):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
04-16 18:56:23.609: D/MediaPlayer(2134):        at android.os.Handler.dispatchMessage(Handler.java:99)
04-16 18:56:23.609: D/MediaPlayer(2134):        at android.os.Looper.loop(Looper.java:130)
04-16 18:56:23.609: D/MediaPlayer(2134):        at android.app.ActivityThread.main(ActivityThread.java:3687)
04-16 18:56:23.609: D/MediaPlayer(2134):        at java.lang.reflect.Method.invokeNative(Native Method)
04-16 18:56:23.609: D/MediaPlayer(2134):        at java.lang.reflect.Method.invoke(Method.java:507)
04-16 18:56:23.609: D/MediaPlayer(2134):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
04-16 18:56:23.609: D/MediaPlayer(2134):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
04-16 18:56:23.609: D/MediaPlayer(2134):        at dalvik.system.NativeStart.main(Native Method)
04-16 18:56:23.649: W/MediaPlayer(2134): info/warning (1, 26)
04-16 18:56:23.659: E/MediaPlayer(2134): error (1, -17)
04-16 18:56:23.659: D/MediaPlayer(2134): create failed:
04-16 18:56:23.659: D/MediaPlayer(2134): java.io.IOException: Prepare failed.: status=0x1
04-16 18:56:23.659: D/MediaPlayer(2134):        at android.media.MediaPlayer.prepare(Native Method)
04-16 18:56:23.659: D/MediaPlayer(2134):        at android.media.MediaPlayer.create(MediaPlayer.java:672)
04-16 18:56:23.659: D/MediaPlayer(2134):        at it.petitogennaro.sarabanda_competition.SiSalviChiPuo_PlayGo.onCreate(SiSalviChiPuo_PlayGo.java:167)
04-16 18:56:23.659: D/MediaPlayer(2134):        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-16 18:56:23.659: D/MediaPlayer(2134):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
04-16 18:56:23.659: D/MediaPlayer(2134):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
04-16 18:56:23.659: D/MediaPlayer(2134):        at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-16 18:56:23.659: D/MediaPlayer(2134):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
04-16 18:56:23.659: D/MediaPlayer(2134):        at android.os.Handler.dispatchMessage(Handler.java:99)
04-16 18:56:23.659: D/MediaPlayer(2134):        at android.os.Looper.loop(Looper.java:130)
04-16 18:56:23.659: D/MediaPlayer(2134):        at android.app.ActivityThread.main(ActivityThread.java:3687)
04-16 18:56:23.659: D/MediaPlayer(2134):        at java.lang.reflect.Method.invokeNative(Native Method)
04-16 18:56:23.659: D/MediaPlayer(2134):        at java.lang.reflect.Method.invoke(Method.java:507)
04-16 18:56:23.659: D/MediaPlayer(2134):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
04-16 18:56:23.659: D/MediaPlayer(2134):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
04-16 18:56:23.659: D/MediaPlayer(2134):        at dalvik.system.NativeStart.main(Native Method)
04-16 18:56:23.709: W/MediaPlayer(2134): info/warning (1, 26)
04-16 18:56:23.709: E/MediaPlayer(2134): error (1, -17)
04-16 18:56:23.709: D/MediaPlayer(2134): create failed:
04-16 18:56:23.709: D/MediaPlayer(2134): java.io.IOException: Prepare failed.: status=0x1
04-16 18:56:23.709: D/MediaPlayer(2134):        at android.media.MediaPlayer.prepare(Native Method)
04-16 18:56:23.709: D/MediaPlayer(2134):        at android.media.MediaPlayer.create(MediaPlayer.java:672)
04-16 18:56:23.709: D/MediaPlayer(2134):        at it.petitogennaro.sarabanda_competition.SiSalviChiPuo_PlayGo.onCreate(SiSalviChiPuo_PlayGo.java:167)
04-16 18:56:23.709: D/MediaPlayer(2134):        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-16 18:56:23.709: D/MediaPlayer(2134):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
04-16 18:56:23.709: D/MediaPlayer(2134):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
04-16 18:56:23.709: D/MediaPlayer(2134):        at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-16 18:56:23.709: D/MediaPlayer(2134):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
04-16 18:56:23.709: D/MediaPlayer(2134):        at android.os.Handler.dispatchMessage(Handler.java:99)
04-16 18:56:23.709: D/MediaPlayer(2134):        at android.os.Looper.loop(Looper.java:130)
04-16 18:56:23.709: D/MediaPlayer(2134):        at android.app.ActivityThread.main(ActivityThread.java:3687)
04-16 18:56:23.709: D/MediaPlayer(2134):        at java.lang.reflect.Method.invokeNative(Native Method)
04-16 18:56:23.709: D/MediaPlayer(2134):        at java.lang.reflect.Method.invoke(Method.java:507)
04-16 18:56:23.709: D/MediaPlayer(2134):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
04-16 18:56:23.709: D/MediaPlayer(2134):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
04-16 18:56:23.709: D/MediaPlayer(2134):        at dalvik.system.NativeStart.main(Native Method)
04-16 18:56:23.839: I/MediaPlayer(2134): Info (1,44)
04-16 18:56:23.839: I/MediaPlayer(2134): Info (1,44)
04-16 18:56:23.839: I/MediaPlayer(2134): Info (1,44)
04-16 18:56:23.839: I/MediaPlayer(2134): Info (1,44)
04-16 18:56:23.839: I/MediaPlayer(2134): Info (1,44)
04-16 18:56:23.849: I/MediaPlayer(2134): Info (1,44)
04-16 18:56:23.849: I/MediaPlayer(2134): Info (1,44)
04-16 18:56:23.849: I/MediaPlayer(2134): Info (1,26)
04-16 18:56:23.849: I/MediaPlayer(2134): Info (1,26)
04-16 18:56:23.849: I/MediaPlayer(2134): Info (1,26)
04-16 18:56:23.849: I/MediaPlayer(2134): Info (1,26)
04-16 18:56:23.849: I/MediaPlayer(2134): Info (1,26)
04-16 18:56:25.249: I/ApplicationPackageManager(2134): cscCountry is not German : TIM
04-16 18:56:27.239: I/ApplicationPackageManager(2134): cscCountry is not German : TIM
04-16 18:56:27.349: W/MediaPlayer(2134): info/warning (1, 44)
04-16 18:56:27.389: W/MediaPlayer(2134): info/warning (1, 26)
04-16 18:56:27.399: E/MediaPlayer(2134): error (1, -17)
04-16 18:56:27.399: D/MediaPlayer(2134): create failed:

ho pensato che il problema fosse il modo in cui faccio partire un'istanza della classe Media Player quindi vi scrivo come io creo una canzone:

Codice (Java): [Seleziona]
MediaPlayer song = MediaPlayer.create(this, R.raw.aerosmith);
song.start();
song.stop();
try {
        song.prepare();
} catch (IllegalStateException e) {
        // TODO Auto-generated catch block
                e.printStackTrace();
} catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
}
song.seekTo(0);

poi la stessa canzone la rifaccio partire piu volte senza più inizializzarla e quindi così:
Codice (Java): [Seleziona]
song.start();
song.stop();
try {
        song.prepare();
} catch (IllegalStateException e) {
        // TODO Auto-generated catch block
                e.printStackTrace();
} catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
}
song.seekTo(0);

proprio non capisco quale sia il problema dato che su emulatori e galaxy s II va tutto liscio aiutatemi please

Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
  • Respect: +27
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re:Errori Mediaplayer
« Risposta #1 il: 17 Aprile 2012, 09:57:02 CEST »
0
Ciao GennyAndroid,
Anche a me succedono entrambi i casi: sia la dicitura  is Not German: TIM (penso sia dovuto al fatto che abbiamo il cell brandizzato tim)
che il warning 1/44 (P.S. io l'ho preso come normale la cosa)
Qui si parla del fatto http://stackoverflow.com/questions/4365048/android-media-player-warning-1-44
Sei stato aiutato oppure il tuo problema è stato risolto? Allora premi il tasto THANKS E' un modo utile e carino per ringraziare chi ti è stato di aiuto.

Offline GennyAndroid

  • Utente junior
  • **
  • Post: 115
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Ace
  • Play Store ID:
    Gennaro Petito
  • Sistema operativo:
    Windows 7
Re:Errori Mediaplayer
« Risposta #2 il: 17 Aprile 2012, 10:30:05 CEST »
0
ti ringrazio per la risposta, mi sento meno solo adesso, però il punto è che qst errore mi blocca l'app e non posso non considerarlo, sono arrivato alla conclusione che il mio problema è la creazione di un media player.

Volevo porvi una domanda, ma è corretto creare un oggetto MediaPlayer per ogni canzone o bisogna utilizzare un unico MediaPlayer per riprodurre piu brani?

Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
  • Respect: +27
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re:Errori Mediaplayer
« Risposta #3 il: 17 Aprile 2012, 21:47:18 CEST »
+1
Strano, perchè a me compariva in debug quel messaggio ma i suoni me li riproduceva senza problemi.
Forse perchè ho da sempre utilizzato solo ed esclusivamente dei brevi suoni e non lunghe canzoni o file multimediali.
Sinceramente non saprei con certezza quale è la scelta migliore; io nel mio caso utilizzavo 3 mediaplayer per 3 suoni diversi
Sei stato aiutato oppure il tuo problema è stato risolto? Allora premi il tasto THANKS E' un modo utile e carino per ringraziare chi ti è stato di aiuto.

Offline GennyAndroid

  • Utente junior
  • **
  • Post: 115
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Ace
  • Play Store ID:
    Gennaro Petito
  • Sistema operativo:
    Windows 7
Re:Errori Mediaplayer
« Risposta #4 il: 18 Aprile 2012, 09:48:29 CEST »
0
Ho scoperto che questo tipo di bug mi si presenta dalla versione 2.3.4 in giu boh ancora non capisco.

Rispetto a prima ( dove gli errori mi si presentavano subito ) adesso la comparsa del primo errore mi si presenta dopo l'esecuzione di circa 6 brani.

In pratica ho cambiato il modo di creare l'istanza della classe MediaPlayer in questo modo:

Codice (Java): [Seleziona]
AssetFileDescriptor fileDescriptor = getResources().openRawResourceFd(canzoniDisponibili.get(posizioneCanzoneCorrente).getBrano());
                       
                        player = new MediaPlayer();
                        try {
                                player.setDataSource(fileDescriptor.getFileDescriptor(), fileDescriptor.getStartOffset(), fileDescriptor.getLength());
                        } catch (IllegalArgumentException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        } catch (IllegalStateException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                        player.setDisplay(null);
            try {
                player.prepare();
                        } catch (IllegalStateException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
            player.start();

Ma come gia anticipato dopo circa 6 volte che entro nella classe che mi inizializza il MediaPlayer schiatta dandomi eccezione qui:

Codice (Java): [Seleziona]
player.prepare();
                        } catch (IllegalStateException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();

il logcat è il medesimo:

Codice (Java): [Seleziona]
04-18 07:39:54.797: W/MediaPlayer(371): info/warning (1, 26)
04-18 07:39:54.807: E/MediaPlayer(371): error (1, -17)
04-18 07:39:54.807: W/System.err(371): java.io.IOException: Prepare failed.: status=0x1
04-18 07:39:54.817: W/System.err(371):  at android.media.MediaPlayer.prepare(Native Method)
« Ultima modifica: 18 Aprile 2012, 09:52:02 CEST da GennyAndroid »