Domanda

ottengo il seguente errore

  

12-15 16: 54: 37.125: ERROR / MediaPlayer (6032): errore (-2147483648, 0)

quando si tenta di eseguire questo codice in un servizio:

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) {} 
    }
}

Quando il servizio è di prima chiamato e non esiste alcun MediaPlayer-object, il flusso viene avviato correttamente.

Ma quando il metodo onStart() viene chiamato di nuovo (con lo streaming giocatore) ottengo il codice di errore di cui sopra.

Non riesco a trovare tutte le informazioni su questo codice di errore, quindi mi rivolgo a voi per chiedere aiuto. Sostituzione mp.pause() con mp.stop() lo fa funzionare.

E 'possibile che il flusso non supporta pausa? Si tratta di un flusso di radio online (RTSP) nel formato SDP.

È stato utile?

Soluzione

Ho letto questo tutorial sui blogger di classe personalizzati StreamingMediaPlayer per Android, nel tutorial parla come egli compie fermandosi un ruscello.

Questo potrebbe essere utile per voi, se non risolve quello che ti serve almeno ti dà un altro punto di vista su come realizzare tale compito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top