VideoView,为视频添加再次播放按钮
VideoView, adding a play again button to the video
我在这里使用 imageView
,当我点击它时应该会显示一个(线性 10)视频,这个视频大约 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();
}
});
我希望当我点击 imageview 时视频开始播放,然后如果我再次点击它会从头开始。
使用视频视图的seekTo函数重启视频
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();
} else {
vd.seekTo(0);
}
保留布尔值,您将在点击触发时使用 seekTo() 处理视频视图。
// playing true - getCurrent seekposition 视频正在播放检查 seekTo();
如果(演奏)
//更改标志并设置为 false & seekTo(0);
别的
// 更改标志并设置为真 seekTo(sum values);
我找到了解决方案,伙计们,请帮忙
有人叫 jeff 已经帮我解决了(感谢 Jeff)
解决方案:
将此代码放在 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 onclicklistener 下的这段代码:
vd.requestFocus();
vd.start();
vd.seekTo(0);
我在这里使用 imageView
,当我点击它时应该会显示一个(线性 10)视频,这个视频大约 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();
}
});
我希望当我点击 imageview 时视频开始播放,然后如果我再次点击它会从头开始。
使用视频视图的seekTo函数重启视频
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();
} else {
vd.seekTo(0);
}
保留布尔值,您将在点击触发时使用 seekTo() 处理视频视图。 // playing true - getCurrent seekposition 视频正在播放检查 seekTo(); 如果(演奏) //更改标志并设置为 false & seekTo(0); 别的 // 更改标志并设置为真 seekTo(sum values);
我找到了解决方案,伙计们,请帮忙 有人叫 jeff 已经帮我解决了(感谢 Jeff)
解决方案:
将此代码放在 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 onclicklistener 下的这段代码:
vd.requestFocus();
vd.start();
vd.seekTo(0);