如何从DCIM文件夹播放mp4文件?

时间:2017-07-22 19:52:12

标签: android video mp4 internal-storage

我正在创建简单的Android应用来播放视频。

1 DCIM / folder / test.mp4 - 视频根本不播放

2 DCIM / test.mp4 - 它工作(播放视频)完美

    Intent intent = getIntent();
    String videoPath = intent.getStringExtra("videoPath");

    player = (EasyVideoPlayer) findViewById(R.id.player);
    assert player != null;
    player.setCallback(this);
    player.setSource(Uri.parse(videoPath));

对任何建议和好榜样都会很高兴。

由于

1 个答案:

答案 0 :(得分:1)

/storage/emulated/0/DCIM/D:T:21 July 2017/T__4__P__3.mp4不是有效的Uri。它缺乏一个方案,它有空白。

如果您要使用Uri.parse(),则必须使用Uri的有效字符串表示形式,一个带有方案的字符串表示(例如,file://)并且转换为空格(例如,%20)。

使用本地文件时,使用Uri.fromFile()通常更安全,您创建的File指向正确的位置。除此之外,您可以检查文件是否存在。使用外部存储时,用户可以在用户需要时删除文件,因此您应该在尝试播放之前确认其存在。 Uri.fromFile(),AFAIK,将为您转换路径中的空白,并自动设置file方案。