2012-12-29 3 views
8

Sto eseguendo un flusso tramite MediaPlayer. All'avvio del buffering, viene generato il codice 701. Al termine del buffering, viene generato il codice 702.Che cos'è MediaPlayer.OnInfoListener "code 703"?

Tutti i codici sono trovati su questo link.

Tuttavia, MediaPlayer.OnInfoListener lancia dapprima il codice 703, che non riesco a trovare da nessuna parte. Ecco il codice e l'output di debug.

mPlayer.setOnInfoListener(new MediaPlayer.OnInfoListener() { 
    @Override 
    public boolean onInfo(MediaPlayer mediaPlayer, int i, int i2) { 
     Log.d(TAG, "MediaPlayer.OnInfoListener: " + i); 
     return false; 
    } 
}); 

Logcat:

12-29 13:40:54.995: DEBUG/StreamingService(13811): MediaPlayer.OnInfoListener: 703 
12-29 13:40:55.000: DEBUG/StreamingService(13811): MediaPlayer.OnInfoListener: 701 
12-29 13:41:09.055: DEBUG/StreamingService(13811): MediaPlayer.OnInfoListener: 702 
12-29 13:41:10.770: DEBUG/StreamingService(13811): MediaPlayer.OnCompletionListener 

Qual è il codice 703gettato via MediaPlayer.OnInfoListener?

risposta

13

Codice 703 dovrebbe essere MEDIA_INFO_NETWORK_BANDWIDTH: "larghezza di banda nel recente passato" (source).

Questo non è proprio un errore. È un codice di stato per informazioni su ciò che accade nel contesto dei media. Guardando il codice sorgente AwesomePlayer vedo che invia MEDIA_INFO_NETWORK_BANDWIDTH se la cache dei dati del flusso sta per esaurirsi, cosa che potrebbe accadere se improvvisamente disabilitate la connessione internet. Metterà quindi in pausa la riproduzione e inizierà a provare a bufferizzare altri dati, che è indicato da un messaggio MEDIA_INFO_BUFFERING_START (codice 701).

+0

Grazie. Mi chiedo dove e come hai trovato questo :). Ma le maggiori domande ora sono: cosa significa "Larghezza di banda nel passato recente"? Hai un indizio? – sandalone

+1

"where": vedere il collegamento nella mia risposta. "come": lavoro con Android multimedia per vivere, quindi ho una buona idea di dove dovrei guardare. Per quanto riguarda il significato di questo codice informativo, suppongo che il secondo argomento contenga la quantità di larghezza di banda che è stata utilizzata per lo streaming multimediale nel "passato recente" (qualunque esso sia). – Michael

+0

Grazie ancora. Il codice 703 potrebbe indicare che il buffer non è vuoto al 100%? Sto chiedendo come sta succedendo questo: spengo Internet mentre suona il flusso, il suono smette di cercare di riempire il buffer, ** quindi inizia a suonare per meno di 1 s ** (non c'è affatto connessione a Internet), e poi ricevo l'errore 702 e viene chiamato 'onCompletion'. – sandalone