Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用媒体播放器一段时间后停止缓冲数据_Java_Android_Media Player - Fatal编程技术网

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

    }