有效:
http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4
不起作用:
http://media.lakewood.org.edgesuite.net/JOM/messages/564_750.mp4
使用的代码:
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setDataAndType(uri, "video/mp4");
MainActivity.instance.startActivity(intent);
我检查了 VLC 中的编解码器类型,它们是相同的。但是,在 chrome 的开发工具(网络选项卡)中,我注意到 bunny 视频的工作方式类似于渐进式下载,而 joel 视频则成 block 下载(即使它应该是渐进式的)。
有什么我想念的吗?
最佳答案
不同的是,第一个是使用渐进式流,而第二个是使用仅从 3.0 及更高版本支持的实时流。请参阅此处了解支持的协议(protocol):-
http://developer.android.com/guide/appendix/media-formats.html#network
您已经发现第二个链接以小块的形式下载,这是实时流式传输的标志(即使内容不一定是实时的)。可以在此处找到有关此协议(protocol)的更多信息:-
http://en.wikipedia.org/wiki/HTTP_Live_Streaming
第一个似乎是使用渐进式流式传输,这并不是真正的流式传输,它将完整的 mp4 作为一个文件下载,但确实允许在您有足够的缓冲后立即开始播放。
希望对您有所帮助。
瑞安
关于Android 2.3 渐进式下载不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14526991/