Sto utilizzando un SeekBar per visualizzare l'avanzamento di un file audio e per la ricerca in un determinato momento. Per l'aggiornamento, utilizzo un Runnable che chiama getCurrentPosition() su un MediaPlayer ogni secondo circa. Ogni volta che succede, c'è una piccola quantità di ritardo nell'audio. Dal momento che lo chiamo spesso, ottengo una balbuzie molto evidente mentre suono qualcosa. Se è rilevante, sto usando setAudioStreamType (AudioManager.STREAM_MUSIC) e il formato del file è mp4 con audio AAC (nessun video) e sto usando Android 2.3.4. C'è un modo per ottenere un buon audio con getCurrentPosition(), o devo implementare i miei calcoli di avanzamento?Android MediaPlayer getCurrentPosition() causa la stutter audio
Il Runnable:
private Runnable mUpdateTask = new Runnable(){
@Override
public void run() {
mSeekBar.setProgress((int) (mPlayer.getCurrentPosition() * 100/mArrayAdapter.getRecording(mPlayingId).mDuration));
mHandler.postDelayed(mUpdateTask, 999);
}
};
codice si prega di ... – Shiva
@Shivaji fonte – DariusL
aggiunto avevo fatto per VideoView puoi verificarlo [qui] (http://stackoverflow.com/questions/7802645/in-android-how-to-get-the-progress-time-of-the-video-played-under-videoview/7803166 # 7803166) –