Android 设置循环在我的视频播放器中不起作用

Android 设置循环在我的视频播放器中不起作用,android,Android,我是一个Android新手。我想设计我的个人视频播放器来播放流媒体音乐,所以我使用MediaPlayer和SurfaceView。该项目成功播放流式视频,但无法设置为循环。我在谷歌上有很多文章,读过安卓开发者的文章。我不明白为什么mediaPlayer.setLoopingtrue在这里不起作用。谢谢^^ mediaPlayer.reset(); mediaPlayer.setDataSource(videoUrl); mediaPlayer.setLooping(true); mediaPla

我是一个Android新手。我想设计我的个人视频播放器来播放流媒体音乐,所以我使用MediaPlayer和SurfaceView。该项目成功播放流式视频,但无法设置为循环。我在谷歌上有很多文章,读过安卓开发者的文章。我不明白为什么mediaPlayer.setLoopingtrue在这里不起作用。谢谢^^

mediaPlayer.reset();
mediaPlayer.setDataSource(videoUrl);
mediaPlayer.setLooping(true);
mediaPlayer.prepare();    
代码包括两部分:1.Test\u Videoplayer.java 2.Player.java

public class Test_Videoplayer extends Activity {
private SurfaceView surfaceView;
private Button btnPause, btnPlayUrl, btnStop;
private SeekBar skbProgress;
private Player player;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    surfaceView = (SurfaceView) this.findViewById(R.id.surfaceView1);

    btnPlayUrl = (Button) this.findViewById(R.id.btnPlayUrl);
    btnPlayUrl.setOnClickListener(new ClickEvent());

    btnPause = (Button) this.findViewById(R.id.btnPause);
    btnPause.setOnClickListener(new ClickEvent());

    btnStop = (Button) this.findViewById(R.id.btnStop);
    btnStop.setOnClickListener(new ClickEvent());

    skbProgress = (SeekBar) this.findViewById(R.id.skbProgress);
    skbProgress.setOnSeekBarChangeListener(new SeekBarChangeEvent());

    player = new Player(surfaceView, skbProgress);

}

class ClickEvent implements OnClickListener {
    @Override
    public void onClick(View arg0) {
        if (arg0 == btnPause) {
            player.pause();
        } else if (arg0 == btnPlayUrl) {
            String url = "http://sites.google.com/site/ronforwork/Home/android-2/littleMonster.3gp";
            player.playUrl(url);
        } else if (arg0 == btnStop) {
            player.stop();
        }
    }
}

class SeekBarChangeEvent implements SeekBar.OnSeekBarChangeListener {
    int progress;

    @Override
    public void onProgressChanged(SeekBar seekBar, int progress,
            boolean fromUser) {
        this.progress = progress * player.mediaPlayer.getDuration()
                / seekBar.getMax();
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        player.mediaPlayer.seekTo(progress);
    }
}
1.Test\u Videoplayer.java

public class Test_Videoplayer extends Activity {
private SurfaceView surfaceView;
private Button btnPause, btnPlayUrl, btnStop;
private SeekBar skbProgress;
private Player player;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    surfaceView = (SurfaceView) this.findViewById(R.id.surfaceView1);

    btnPlayUrl = (Button) this.findViewById(R.id.btnPlayUrl);
    btnPlayUrl.setOnClickListener(new ClickEvent());

    btnPause = (Button) this.findViewById(R.id.btnPause);
    btnPause.setOnClickListener(new ClickEvent());

    btnStop = (Button) this.findViewById(R.id.btnStop);
    btnStop.setOnClickListener(new ClickEvent());

    skbProgress = (SeekBar) this.findViewById(R.id.skbProgress);
    skbProgress.setOnSeekBarChangeListener(new SeekBarChangeEvent());

    player = new Player(surfaceView, skbProgress);

}

class ClickEvent implements OnClickListener {
    @Override
    public void onClick(View arg0) {
        if (arg0 == btnPause) {
            player.pause();
        } else if (arg0 == btnPlayUrl) {
            String url = "http://sites.google.com/site/ronforwork/Home/android-2/littleMonster.3gp";
            player.playUrl(url);
        } else if (arg0 == btnStop) {
            player.stop();
        }
    }
}

class SeekBarChangeEvent implements SeekBar.OnSeekBarChangeListener {
    int progress;

    @Override
    public void onProgressChanged(SeekBar seekBar, int progress,
            boolean fromUser) {
        this.progress = progress * player.mediaPlayer.getDuration()
                / seekBar.getMax();
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        player.mediaPlayer.seekTo(progress);
    }
}
}

2.Player.java