2014-10-01 104 views
5

我正在制作一个Android应用程序,我需要通过可直接下载的链接在android默认本机视频播放器中播放mp4视频。如何通过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视频。 这段代码打开视频播放器,但视频没有在视频播放器加载

我也用这个URL

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

该网址中包含HTML5视频播放器,但视频没有在Android的视频播放器加载

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

http://www.androidbegin.com/tutorial/AndroidCommercial.3gp 

然后,它的工作原理。

请帮忙。

回答

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_VIEWvideo/mp4流式传输文件的活动。您应该使用PackageManagerqueryIntentActivities()来确认startActivity()呼叫是否会找到匹配项,或者处理您获得的ActivityNotFoundException。您需要检查Android Video Encoding Recommandations。确保您的视频使用支持的代码进行编码,并且您的视频尊重分辨率。在视频编码正确后,流式处理工作。

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

+0

我在真实设备上测试它,但我认为问题出在视频流 – 2014-10-01 06:24:51

+0

视频流问题发生在我身边还是在服务器端?请告诉我 – 2014-10-01 06:28:51

+0

谢谢,它适用于我(真实设备和模拟器)与“startActivity(intent);” – NicoMinsk 2016-04-11 18:32:04