gpt4 book ai didi

java - VideoView,为视频添加再次播放按钮

转载 作者:行者123 更新时间:2023-12-02 11:05:04 32 4
gpt4 key购买 nike

我在这里使用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 时视频开始播放,然后如果我再次单击它将从头开始播放。

最佳答案

使用视频 View 的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);
}

关于java - VideoView,为视频添加再次播放按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51039257/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com