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

42

我对VideoView如何播放视频感到困惑:从本地文件、作为渐进式下载和流媒体。这个例子可以通过下载文件并在本地播放来进行操作。

但是,在使用setVideoPath或setVideoURI时是否需要在播放之前下载视频呢,是否可以通过渐进式下载或流媒体来播放视频,就像Api示例中的VideoViewDemo那样呢?

VideoViewDemo代码建议使用setVideoURI进行流媒体,但是我不清楚应该使用什么类型的URL。有人有一个可以使用VideoViewDemo代码将视频流传输到Android模拟器的视频URL示例吗?

是否可以在VideoViewDemo中使用渐进式下载?我使用与上面链接的博客示例中正常工作的URL使用setVideoPath时收到“抱歉,无法播放此视频”的消息。(这是模拟器的问题吗?我尝试过1.5和2.0版本)

我在网上找到了很多示例和文档,但迄今为止,没有一个真正回答这个问题。


这里有一个很好的教程,它会逐步指导您,并列出已知问题和限制。链接 - Moshe Kravchik
@MosheKravchik - 这个链接已经失效了。有更新吗? - JohnnyLambada
@Sam Dutton:你能够流式传输视频吗(并行下载和播放)?为了检查渐进式流媒体是否适用于视频,我正在下载一半的视频并播放已下载的一半的视频,但这种方法显示与你的相同错误“无法播放此视频”。那么,在Android中如何渐进式地流式传输视频而不使用VideoView的setVideoURI或setVideoPath呢? - Mahantesh M Ambi
3个回答

20

是否可以通过使用setVideoPath或setVideoURI(在API示例中的VideoViewDemo中)来作为渐进式下载或流式播放视频?

可以。它肯定可以与 MediaPlayer 一起使用,而 VideoView 只是一个围绕 MediaPlayer SurfaceView 的约200行包装器。

VideoViewDemo代码建议使用setVideoURI进行流式传输,但我不清楚应该使用什么类型的URL。

如果视频已正确编码,则 http:// rtsp://可以使用。

有没有人有一个示例URL,可以使用VideoViewDemo代码将视频流传输到Android模拟器?

此视频可与 MediaPlayer 一起使用,但Nexus One除外。

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


以下网页包含多个mp4文件,可用作Android视频流测试URI:http://people.sc.fsu.edu/~jburkardt/data/mp4/mp4.html - Peter Ajtai
1
你能给我一些用于进行渐进式下载的URL吗?在你提供的链接中,我找不到URL。 - Tofeeq Ahmad
我已经将文件编码为可从URL逐渐流式传输的格式。请查看我的回答:https://dev59.com/RE3Sa4cB1Zd3GeqPrgjn#2593846 - hnviet

2

1
我关注了那个博客,它只适用于音频文件。对于视频文件无效。为了检查渐进式流是否有效,我编写了一个示例程序,在该程序中它只会下载一半的视频并开始播放已下载的一半视频文件,但是它会显示错误消息,指出无法播放此视频 - Mahantesh M Ambi
1
一样啊。我猜是过时了。 - Léon Pelletier
博客.pocketjourney.com的链接已过期。 - mmaitlen
答案本身已经非常过时了。然而,如果您可以接受7年前的代码,这是我当时使用它的示例:https://github.com/shamansir/vimeoid/blob/master/apk/src/org/vimeoid/media/VimeoVideoPlayingTask.java - shaman.sir

-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);
}

或者点击这里观看Android视频流教程

VideoView可以支持更多的格式 - http://developer.android.com/guide/appendix/media-formats.html - Michał Tajchert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接