我在这里使用imageView,当我单击它时应该在(linear10)中向我展示一个视频,该视频大约需要4秒钟,我需要一个代码,当我再次单击imageView时,该视频应重新开始播放,每次我单击imageView时,都需要它从头开始播放视频
这是我用来播放视频的代码:
imageview1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
n++;
linear1.setVisibility(View.VISIBLE);
if (n == 1) {
final VideoView vd = new VideoView(MainActivity.this); vd.setLayoutParams(new LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.MATCH_PARENT, android.widget.LinearLayout.LayoutParams.MATCH_PARENT)); linear1.addView(vd);
vd.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.mercury));
vd.requestFocus();
vd.start();
我尝试添加此代码,但这会循环播放视频! :
vd.setOnCompletionListener(new android.media.MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(android.media.MediaPlayer arg0) {
vd.start();
}
});
我想在单击图像视图时开始播放视频,如果再次单击,它将从头开始重新播放。
答案 0 :(得分:0)
解决方案:
将此代码放在onCreate下:
vd = new VideoView(MainActivity.this); vd.setLayoutParams(new LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.MATCH_PARENT, android.widget.LinearLayout.LayoutParams.MATCH_PARENT)); linear1.addView(vd);
vd.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.mercury));
}
private VideoView vd;
public void nothing() {
和此代码在imageview1下:
vd.requestFocus();
vd.start();
vd.seekTo(0);