VideoView,为视频添加了“再次播放”按钮

时间:2018-06-26 09:20:43

标签: java android android-videoview

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

我想在单击图像视图时开始播放视频,如果再次单击,它将从头开始重新播放。

3 个答案:

答案 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)

我找到了解决方案的人,请帮忙 名为 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);