在AsyncTask onPostExecute之后,VideoView无法启动

时间:2018-06-16 09:12:14

标签: android android-asynctask android-videoview

如果在使用AsyncTask将文件加载到文件后启动,则VideoView会显示白屏。以下是代码。

if (file.exists()) {
 loadVideo(file, infoImageView, infoVideoView);
}
else {
 new LoadToFile(file, infoImageView, infoVideoView).execute();
}

我的loadVideo函数是

public void loadVideo(File file, ImageView imageView, final VideoView videoView) {
 imageView.setVisibility(View.GONE);
 videoView.setVisibility(View.VISIBLE);
 videoView.setVideoPath(file.getAbsolutePath());
 videoView.start();
}

我在loadVideo函数所在的类中定义了loadToFile类。

class LoadToFile extends AsyncTask {

 @Override
 protected Object doInBackground(Object[] objects) {
  downloadFile();
  return file;
 }

 @Override
 protected void onPostExecute(Object o) {
  File file = (File) o;
  loadVideo(file, imageView, videoView);
 }
}

当有文件时VideoView播放视频没有任何问题。但是当我使用AsyncTask将视频加载到文件时,VideoView只显示白屏。该文件正在创建,没有任何问题,如果我重新启动它活动它没有任何问题。

0 个答案:

没有答案