Android平台直接从URL播放mp4视频失败,有啥解决办法吗?
Posted
技术标签:
【中文标题】Android平台直接从URL播放mp4视频失败,有啥解决办法吗?【英文标题】:Failed to play mp4 video directly from URL in Android platform, is there any solution?Android平台直接从URL播放mp4视频失败,有什么解决办法吗? 【发布时间】:2012-08-26 14:02:09 【问题描述】:我正在尝试在 videoView 上播放来自 URL 的视频。视频扩展是mp4,问题是出现这样的错误:
logcat 是这样的:
![在此处输入图片描述][2]
实际上,我在 ***.com 上发现了很多问题,但没有什么是方便的。问题在于 mp4 格式,我尝试了 3gp 并且效果很好。我不想下载视频然后播放,也不想将其转换为 3gp。
感谢您的帮助。
EDIT:: 这里是代码sn-p
String LINK = "https://********/cbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb.mp4";
VideoView videoView = (VideoView) findViewById(R.id.videoView1);
MediaController mc = new MediaController(this);
mc.setAnchorView(videoView);
mc.setMediaPlayer(videoView);
Uri video = Uri.parse(LINK);
videoView.setMediaController(mc);
videoView.setVideoURI(video);
videoView.start();
编辑:
我不知道如何应用这个来自 android 网站的建议:
For 3GPP and MPEG-4 containers, the moov atom must precede any mdat atoms, but must succeed the ftyp atom.
For 3GPP, MPEG-4, and WebM containers, audio and video samples corresponding to the same time offset may be no more than 500 KB apart. To minimize this audio/video drift, consider interleaving audio and video in smaller chunk sizes.
【问题讨论】:
放一些代码看看是什么原因造成的 感谢@Filipe Batista 我已添加代码 它适用于另一个带有 http 的 mp4 视频...我上面的视频是 HTTPS 并且需要 SSL 证书,所以还有另一个问题 【参考方案1】:就像@Giuseppe 所说,HTTPS
可能是问题所在,如果您使用的是 3.1 之前的 Android 版本。
如果在这里看到它:
http://developer.android.com/guide/appendix/media-formats.html
它说:
注意:在 Android 3.1 之前不支持 HTTPS。
编辑: 确保您在清单文件中拥有以下权限:
<uses-permission android:name="android.permission.INTERNET" />
还要测试在真实设备上播放的视频,因为有时模拟器会出现一些问题。
【讨论】:
查看我编辑的答案。我还在真实设备(Android 2.3.6)上测试了该代码,并且可以正常工作。 你是如何解决姜饼中的 https 的,很高兴知道,谢谢@Amt87以上是关于Android平台直接从URL播放mp4视频失败,有啥解决办法吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用远程 URL 在 Android 模拟器中播放 mp4 视频?
如何在 android 的 videoview 中播放 .mp4 视频?