Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java VideoView,在视频中添加“再次播放”按钮_Java_Android_Android Videoview - Fatal编程技术网

Java VideoView,在视频中添加“再次播放”按钮

Java VideoView,在视频中添加“再次播放”按钮,java,android,android-videoview,Java,Android,Android Videoview,我在这里使用的是imageView,当我点击它时,应该会显示一个视频(linear10)。这个视频大约4秒,我需要一个代码,当我再次点击imageView时,视频应该重新开始播放,每次我点击imageView时,我需要它从一开始就开始播放视频 这是我用来播放视频的代码: imageview1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(V

我在这里使用的是
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();
                              }
                    }); 

我希望当我单击图像视图时,视频开始播放,然后如果我再次单击,它将从头开始播放。

使用视频视图的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()处理视频视图。 //播放true-getCurrent seekposition视频正在播放检查seekTo(); 如果(玩) //更改标志并设置为false&seekTo(0); 其他的
//更改标志并设置为true seekTo(总和值)

我找到了解决方案伙计们,ty需要帮助 有个叫杰夫的人帮我解决了(谢谢杰夫)

解决方案:

将此代码置于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);

与您将在图像视图中应用的切换按钮功能相同。您正确地检查了seekTo()函数是否正常工作。来吧,让它成为全局函数