使用VideoView进行流式传输或渐进式下载视频

时间:2010-01-13 17:44:54

标签: android android-videoview

我对VideoView如何用于播放视频感到困惑:从本地文件,渐进式下载和流媒体。

This example通过下载文件并在本地播放,为我工作(至少1.5和2.0)。

但是在播放之前是否有必要下载视频:是否可以通过使用setVideoPath或setVideoURI来播放视频作为渐进式下载或流式传输,如API样本中的VideoViewDemo一样?

VideoViewDemo代码建议使用setVideoURI进行流式传输,但我不清楚我应该使用哪种URL。有人拥有可以使用VideoViewDemo代码流式传输到Android模拟器的视频的示例网址吗?

可以使用渐进式下载与VideoViewDemo一起使用吗?我得到一个'抱歉,这个视频无法播放'消息使用setVideoPath,网址与上面链接的博客示例一致。(这是模拟器中的问题吗?我尝试过1.5和2.0。)

我在网上找到了很多例子和文档,但到目前为止,还没有真正回答这个问题。

3 个答案:

答案 0 :(得分:19)

  

是否可以播放视频   渐进式下载,或通过流式传输,   只需使用setVideoPath或   setVideoURI,与VideoViewDemo中一样   API样本?

它应该。它肯定适用于MediaPlayer,而VideoView只是MediaPlayerSurfaceView周围的约200行包装。

  

VideoViewDemo代码建议使用   setVideoURI用于流媒体,但我不是   清楚我应该是什么样的网址   使用

如果视频编码正确,

http://rtsp://可以正常工作。

  

是否有人拥有一个示例网址   可以流式传输的视频   Android模拟器使用   VideoViewDemo代码?

This video适用于MediaPlayer,但Nexus One除外。

编辑:实际上,该链接也适用于Nexus One。

答案 1 :(得分:2)

它适用于简单的情况,但仅当不需要为获取流的请求做一些自定义准备时。

本教程展示了音频的手动流式仿真示例,但播放视频时可能会进行一些重构:

http://blog.pocketjourney.com/2008/04/04/tutorial-custom-media-streaming-for-androids-mediaplayer/

(确保在设置FileDescriptor时使用dataSource,API会从这些时间略有变化。)

答案 2 :(得分:-4)

VideoView只能播放3gp视频,但我建议使用此代码来播放视频

public void onCreate(Bundle savedInstanceState){
setContentView(R.layout.main);
String videourl = "http://something.com/blah.mp4";
Uri uri = Uri.parse(videourl);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setDataAndType(uri, "video/mp4");
startActivity(intent);
}

Click here to watch Android Video Streaming Tutorial