2009-12-15 8 views
0

-je obtenir l'erreur suivanteErreur inconnue en pause()

12-15 16: 54: 37,125: ERREUR/MediaPlayer (6032): erreur (-2147483648, 0)

quand essayer d'exécuter ce code dans un service:

MediaPlayer mp = null; 

@Override 
public void onCreate() { 
    if (mp == null) { 
     mp = new MediaPlayer(); 
    } 
} 

@Override 
public void onStart(Intent intent, int startId) { 
    if (!mp.isPlaying()) { 
     Log.d(DEBUG_TAG, "Not playing, starting stream..."); 
     try { 
      mp.setDataSource(getString(R.string.address_p3)); 
      mp.prepare(); 
     } catch (IOException e) {} 

     mp.start(); 
    } else { 
     Log.d(DEBUG_TAG, "Playing, pausing stream..."); 
     try { mp.pause(); } 
     catch (Exception e) {} 
    } 
} 

Lorsque le service est d'abord appelé et ne MediaPlayer-object existe, le flux est démarré correctement.

Mais lorsque la méthode onStart() est appelée à nouveau (avec le lecteur en streaming), j'obtiens le code d'erreur ci-dessus.

Je ne trouve aucune information sur ce code d'erreur, je me tourne donc vers vous pour obtenir de l'aide. Remplacement mp.pause() avec mp.stop() le fait fonctionner.

Le flux ne peut-il pas être mis en pause? C'est un flux radio en ligne (RTSP) au format SDP.

+0

Avez-vous essayé votre code avec d'autres flux et formats de médias? En outre, si vous avez un exemple d'URL RTSP, cela sera utile pour les tests. –

+0

Je l'ai seulement essayé avec un flux (rtsp: //lyssna-mp4.sr.se/live/mobile/SR-P3.sdp). Je peux essayer un autre format et voir ce qui se passe. – aspartame

Répondre

2

J'ai lu this tutorial sur la classe StreamingMediaPlayer pour Android, dans le tutoriel, il parle de comment il accomplit la pause d'un flux.

Cela pourrait être utile pour vous, si cela ne résout pas ce dont vous avez besoin, au moins cela vous donne une autre perspective sur la façon d'accomplir une telle tâche.

+0

Je vais vérifier! – aspartame