3

这是我原来的问题

我已经在那里实施了答案,但问题仍然存在。

这是要点:所以我正在从外部存储(SD卡)播放视频,播放视频时遇到问题,这是我的代码:

Uri uri = Uri.parse(url);
intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "video/*");

提示“抱歉,此视频无法播放”,但在图库中可以播放。我打印了网址,这就是我得到的:

VideoPlayer url: file:///mnt/sdcard/foldername/video-2012-12-26-21-26--44.mp4

该文件存在于我得到的答案中。但是问题仍然存在,我不知道出了什么问题。

任何见解都值得赞赏。谢谢

编辑:致那些在第一个问题中没有看到答案的人。我已经实现了这个:

intent = new Intent(Intent.ACTION_VIEW);

File sdCard = Environment.getExternalStorageDirectory();
File file = new File(sdCard, "/foldername/video-2012-12-26-21-26--44.mp4");

intent.setDataAndType(Uri.fromFile(file), "video/*");

startActivity(intent);

该文件存在,因为我已经检查过它。我想知道文件命名约定是否有问题。

我也在调试我的设备,三星 Galaxy Ace,Android 2.3.6,用 4.2 sdk 编译。

编辑 2:我尝试将视频重命名为更简单的视频,现在视频可以正常工作,我的猜测是该文件具有文件名长度限制或命名约定。

4

3 回答 3

5

此代码来自我制作的工作应用程序,请尝试一下。

Intent intent = new Intent();
            intent.setAction(Intent.ACTION_VIEW);
            intent.setDataAndType(
                    Uri.parse("file://"+ file.getAbsolutePath()),
                    "video/*");
于 2013-01-03T11:37:09.767 回答
1

您需要使用该file方案:

所以你应该使用intent.setDataAndType("file://" + uri, "video/*");

于 2013-01-03T11:46:09.667 回答
0

我尝试了不同的解决方案。但我猜这个问题是由于命名约定而发生的。我尝试将文件重命名为更简单的格式并且它可以工作。另外我的原始文件名的问题是文件名中有一个“--”。

于 2013-01-03T13:16:33.567 回答