Java 使用媒体播放器一段时间后停止缓冲数据
我正在使用媒体播放器来流媒体。有时,由于连接速度慢或其他因素,缓冲占用了太多时间来调用Java 使用媒体播放器一段时间后停止缓冲数据,java,android,media-player,Java,Android,Media Player,我正在使用媒体播放器来流媒体。有时,由于连接速度慢或其他因素,缓冲占用了太多时间来调用onPrepared方法。在Media Player中运行一段时间后,我想停止缓冲数据 例如: public void play() { try{ mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mMediaPlayer.setDataSource(source); mMediaPl
onPrepared
方法。在Media Player中运行一段时间后,我想停止缓冲数据
例如:
public void play() {
try{
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setDataSource(source);
mMediaPlayer.prepareAsync();
} catch (Exception e) {
// ....
}
}
@Override
public void onPrepared(MediaPlayer arg0) {
// Send a message to activity to end progress dialogue
sendBufferCompleteBroadcast();
playMedia();
}
最好的方法是什么?我在mMediaPlayer.prepareAsync()之后添加了调用以下方法
如果5秒钟后我没有收到响应,
mediaplayer
将重置 你为什么要停止缓冲?这将不必要地使你的应用程序看起来毫无反应。你特别想要实现什么?这需要很多时间。有时在20秒或更长时间之间。我想要一个用户等待太久。别担心。我想办法。不管怎样,谢谢你。你想从网上取些东西吗?如果是,请反复测试您的网络连接,如果您没有获得正确的连接,请发送适当的Toast。
// Prevent Media Player taking so long time
private void postDelayed() {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
mMediaPlayer.reset();
}}, 5000); // 5 seconds
}