[英]How to loop a VideoView element in MainActivity.java?
我编写了一个应用程序,它可以播放视频,直到您点击屏幕并退出。 本质上是一个基本的屏幕保护程序。 该应用程序将启动并播放视频,但它会在最后一帧停止而不是循环播放。
下面我的 MainActivity.java 中的代码
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.VideoView;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
VideoView videoView = findViewById(R.id.videoView);
Uri uri=Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.hab2);
videoView.setVideoURI(uri);
videoView.requestFocus();
videoView.start();
videoView.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
finish();
}
}); }
}
如果使用MediaPlayer,您可以轻松处理
videoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.setLooping(true);
}
});
如果要在完成后启动视频, setOnCompletionListener
在VideoView
上使用setOnCompletionListener
。
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
final VideoView videoView = findViewById(R.id.videoView);
Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.hab2);
videoView.setVideoURI(uri);
videoView.requestFocus();
// TODO: Add these lines of code.
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// TODO: When the video is completed, we will star it again.
videoView.start();
}
});
videoView.start();
videoView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.