gpt4 book ai didi

android - 视频播放完毕后启动 Activity

转载 作者:行者123 更新时间:2023-11-29 14:05:25 25 4
gpt4 key购买 nike

在我的 Android 应用程序中,我试图在我正在播放的视频结束后简单地返回到我的主要 Activity。我尝试了很多解决方法,但我找不到从视频 onCompletionListener 调用 StartActivity 的方法 - 我收到“无法从 Activity 类型对非静态方法 startActivity(Intent) 进行静态引用”错误。

我尝试从 videoView 之前的 Activity 获取上下文,并将其传递给 intent/startActivity。这允许应用程序编译,但随后出现运行时异常。

这是目前的代码,它会出现“无法进行静态引用”错误 - 任何帮助将不胜感激!

public class Videoscreen extends Activity{

public static VideoView myVideoView;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.videoplay);
myVideoView = (VideoView) findViewById(R.id.main_videoview);
System.out.println("playing video oncreate");
playVideo();
}
public static void playVideo(){

// video finish listener
myVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

@Override
public void onCompletion(MediaPlayer vmp) {
Intent intent = new Intent();
intent.setClass(Videoscreen.this, Game.class);
Videoscreen.startActivity(intent);
}
});

String low_word = SpellingView.get_low_word();
Uri bubblesUri = Uri.parse("android.resource://org.lalloinc.ilovetrucks/raw/"+ low_word + "_vid");
myVideoView.setVideoURI(bubblesUri);
myVideoView.start();

}

最佳答案

如果您知道视频的时间,那么您可以尝试:

String uri1 = "android.resource://" + getPackageName() + "/" + R.raw.race3;
vd.setVideoURI(Uri.parse(uri1));
vd.start();

new Thread() {
public void run() {
try{

sleep(50000);
} catch (Exception e) {

}
Intent intent = new Intent(Video.this, Another.class);
startActivity(intent);
finish();
}
}.start();

如果你不知道时间,那么你得到的时间是:

int vtime = vd.getDuration();

然后在线程休眠时,你只需输入这个整数。

关于android - 视频播放完毕后启动 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7315279/

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