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

Man*_*wal 5 video android android-video-player android-intent

我正在制作一个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);
Run Code Online (Sandbox Code Playgroud)

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

我也使用过这个URL

http://b.revvolution.com/video/albums-3ry/newshare-der-34972.mp4
Run Code Online (Sandbox Code Playgroud)

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

但是,当我使用3GP视频的链接时

http://www.androidbegin.com/tutorial/AndroidCommercial.3gp
Run Code Online (Sandbox Code Playgroud)

然后它工作.

请帮忙.

Mav*_*eňツ 2

试试我的方法

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

然后添加权限 : android.permission.WRITE_EXTERNAL_STORAGE, 到清单中。


更新

首先,视频可能存在问题,因为并非所有视频都可以安全地进行流式传输

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

您需要检查Android 视频编码建议。确保您的视频使用支持的代码进行编码,并且您的视频符合分辨率。视频正确编码后,流式传输即可正常工作。

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