我在这里使用imageView
,当我单击它时,应该向我显示(linear10)中的视频,该视频大约需要4秒钟,我需要一个代码,当我再次单击{{1} }每次点击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();
我想在单击图像视图时开始播放视频,如果再次单击,它将从头开始重新播放。
答案 0 :(得分:1)
使用视频视图的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);
}
答案 1 :(得分:0)
保留布尔值,当点击触发时,您将使用seekTo()处理视频视图。 //播放true-正在播放getCurrent seekposition视频,请检查seekTo(); 如果(播放) //更改标志并将其设置为false&seekTo(0); 其他 //更改标志并将其设置为true seekTo(sum values);
答案 2 :(得分: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 onclicklistener下的这段代码:
vd.requestFocus();
vd.start();
vd.seekTo(0);