如果在使用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只显示白屏。该文件正在创建,没有任何问题,如果我重新启动它活动它没有任何问题。