Sto implementando un lettore multimediale che riproduce uno streaming da una macchina remota. Tramite la mia app posso controllare la macchina remota (ad esempio cercare la seconda). Funziona come un incantesimo, ma: Android Media Player buffer alcuni folle 10-15 secondi (!!), il che significa che ogni clic ('cerca') richiede 10-15 secondi per avere effetto anche se è meno di un secondo fino al nuovo i dati arrivanoCome evitare 15 secondi di ritardo/memorizzazione nella cache in Android Media Player durante la riproduzione dello streaming
La mia domanda: C'è un modo per controllare (limitare) quella memorizzazione nella cache? O sto semplicemente facendo qualcosa di sbagliato? Sono l'unico ad avere questo problema?
Il mio codice è molto semplice:
player = new MediaPlayer()
player.setDataSource(url);
player.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
player.prepareAsync();
UPDATE: Sto usando un server HTTP mini auto locale costruito per collegare il mio flusso di byte al lettore multimediale androidi. Sembra che Android DRM stia ritardando/nascondendo in questo caso. Ancora non del tutto chiaro perché (e perché no se mi collego al mio IIS che ospita un file). Inoltre non ha idea di come risolvere questo problema.
Ingresso benvenuto!
Grazie! Daniel
Hai mai trovato una soluzione per questo? – ernazm
nessuno che io abbia osato condividere :) Su alcune versioni precedenti di Android 3.0 avrei potuto lavorare attorno sostituendo le mie nuove linee di risposta HTTP da \ r \ n a \ n \ r. Sì, stavo pensando di restituire il mio diploma CS in quel momento :). Forse ho sfruttato qualche bug lì. Purtroppo non ho un dispositivo per testarlo, quindi non posso riprodurlo. – Daniel