为什么VideoView需要离开活动然后恢复它才能播放视频文件?

时间:2015-06-01 12:38:53

标签: android android-videoview

这是一个非常奇怪的问题。我知道我可能会错过一些基本的东西,但是在努力搜索后我找不到任何解释。 奇怪的问题如下:

  1. 应用生成视频文件(foo.mp4)。
  2. 它启动另一个活动来播放此文件(请参阅下面的代码)。
  3. 视频播放文件播放活动显示错误消息:“无法播放此视频”
  4. 保留此活动(例如,通过点击主页键)。
  5. 回到应用程序,视频播放完美。
  6. 以上是100%可重复的。 以下是代码(这不是生产代码,但它是用于重现问题的实际代码。)

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        setContentView(R.layout.activity_play_video_file);
    
        VideoView videoView = (VideoView) findViewById(R.id.videoView);
        videoView.setVideoPath(getIntent().getStringExtra("file_path"));
    }
    
    protected void onResume() {
        VideoView videoView = (VideoView) findViewById(R.id.videoView);
        videoView.start();
        super.onResume();
    };
    

    文件路径为:/storage/sdcard0/Movies/MyApp/foo.mp4

    有些人可能会想到,在创建文件之后播放之前需要等待一段时间。在文件的写入流关闭之后和视频文件播放活动开始之前,我已经尝试等待2分钟。结果完全一样。

0 个答案:

没有答案