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();
                              }
                    }); 

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

4

1 回答 1

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 下的这段代码:

vd.requestFocus();
vd.start();
vd.seekTo(0);
于 2018-06-27T05:55:26.063 回答