如何通过Android视频播放器中的直接链接播放MP4视频?

时间:2014-10-01 05:43:19

标签: android android-intent video android-video-player

我正在制作一个Android应用程序,我需要通过直接下载链接在Android默认本机视频播放器中播放mp4视频。

要打开Android视频播放器,我使用以下代码

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://b.revvolution.com/video/albums-3ry/newshare-der-34972.mp4?download=1"));

intent.setDataAndType(Uri.parse("http://b.revvolution.com/video/albums-3ry/newshare-der-34972.mp4?download=1"), "video/*");

startActivity(intent);

这里的URL是mp4视频的直接可下载链接。 此代码打开视频播放器,但视频未加载到视频播放器中

我也使用了这个网址

http://b.revvolution.com/video/albums-3ry/newshare-der-34972.mp4

此网址包含html5视频播放器,但视频未在Android视频播放器中加载

但是当我使用像

这样的3GP视频链接时
http://www.androidbegin.com/tutorial/AndroidCommercial.3gp

然后它有效。

请帮忙。

1 个答案:

答案 0 :(得分:2)

尝试我的方式

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("http://www.yourvideo.mp4"), "video/mp4");

然后将权限android.permission.WRITE_EXTERNAL_STORAGE添加到清单。


更新

首先,视频可能存在问题,因为并非所有视频都是safe for streaming

其次,并非所有设备都可以设置活动以支持流式传输的ACTION_VIEW文件上的video/mp4。您应该使用PackageManagerqueryIntentActivities()来确认startActivity()来电是否会找到匹配项,或者处理您获得的ActivityNotFoundException

您需要查看Android Video Encoding Recommandations。确保您的视频使用支持的代码进行编码,并且您的视频尊重分辨率。视频正确编码后,流式处理工作正常。

此外,如果您还没有注意到,通常模拟器不会播放它们,您将不得不在真实设备上进行测试。