我正在制作一个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
然后它有效。
请帮忙。
答案 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
。您应该使用PackageManager
和queryIntentActivities()
来确认startActivity()
来电是否会找到匹配项,或者处理您获得的ActivityNotFoundException
。
您需要查看Android Video Encoding Recommandations。确保您的视频使用支持的代码进行编码,并且您的视频尊重分辨率。视频正确编码后,流式处理工作正常。
此外,如果您还没有注意到,通常模拟器不会播放它们,您将不得不在真实设备上进行测试。