我有一个简单的应用程序,其中视频从网址加载,当您点击视频时,MediaController会弹出。
这很好用,但是我想知道是否有一种方法可以跳过这一步并让它点击视频自动触发“播放”。 MediaController的功能,无需看到它。
这些视频很短,除了按下播放之外,我不需要能够控制它们。
这是我的代码:
private static final String MOVIE_URL ="http://mywebsite.com/videos/testvideo.mkv";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final VideoView vid = (VideoView) findViewById(R.id.videoView);
Uri video = Uri.parse(MOVIE_URL);
vid.setMediaController(new MediaController(this));
vid.setVideoURI(video);
vid.seekTo(1);
vid.setOnClickListener(
new View.OnClickListener()
{
@Override
public void onClick(View view)
{
vid.start();
vid.requestFocus();
}
}
);
}
编辑
我需要使用onTouchListener而不是onClickListener,因为它是一个视频视图。这非常有效!
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final VideoView vid = (VideoView) findViewById(R.id.videoView);
Uri video = Uri.parse(MOVIE_URL);
// vid.setMediaController(new MediaController(this));
vid.setVideoURI(video);
vid.seekTo(1);
vid.setOnTouchListener(
new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event) {
vid.start();
vid.requestFocus();
return false;
}
}
);
}
答案 0 :(得分:0)
如果准备好,请添加PreparedListener
以收听视频。当VideoView
准备好start
游戏
vid.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
vid.start();
vid.requestFocus();
}
});
vid.setVideoURI(video);
当setVideoURI
时,将创建MediaPlayer
的实例并注册MediaPlayer
setOnPreparedListener
。因此,当准备MediaPlayer
时,VideoView
onPrepared
侦听器将被调用。