我的媒体播放器在闲置一段时间后延迟启动,也有一段时间不播放音频。
之前我使用的是setDataSource()
,但这次我使用的是create()
。
作为引用,这是我正在使用的代码:
AssetFileDescriptor afd = _context.getResources().openRawResourceFd(this._soundResource.get(this._toBePlayed));
mp = new MediaPlayer();
mp.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
afd.close();
mp.setOnPreparedListener(new OnPreparedListener(){
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
mp.setOnCompletionListener(new OnCompletionListener(){
@Override
public void onCompletion(MediaPlayer mp) {
mp.reset();
mp.release();
}
});
mp.prepareAsync();
最佳答案
我也遇到了 start() 的延迟问题。我在 onPrepared 中使用 mp.seekTo(0) 修复了它,如下所示:
mp.setOnPreparedListener(new OnPreparedListener(){
@Override
public void onPrepared(MediaPlayer mp) {
mp.seekTo(0);
mp.start();
}
});
关于android - 媒体播放器延迟启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4895134/