Android SDK - 从URL播放视频的媒体播放器

14

我试图找到一个简单的教程,解释如何将从URL加载的视频加载到Android媒体播放器中,但不幸的是我没有找到任何合适的!

我尝试了几件事情来尝试让它工作,但仍然没有运气。

有什么最好的方法可以让MediaPlayerActivity从URL加载视频?

谢谢

编辑:

我已经尝试了以下建议的代码:

VideoView videoView = (VideoView) findViewById(R.id.your_video_view);
MediaController mediaController = new MediaController(this); 
mediaController.setAnchorView(videoView);
videoView.setMediaController(mediaController);
videoView.setVideoURI(Uri.parse("url-here"));
videoView.start();

当我打开这个活动页面时,应用程序会崩溃。

3个回答

24

你可以使用VideoView。下面是一个示例:

VideoView videoView = (VideoView) findViewById(R.id.videoView);
//Use a media controller so that you can scroll the video contents
//and also to pause, start the video.
MediaController mediaController = new MediaController(this); 
mediaController.setAnchorView(videoView);
videoView.setMediaController(mediaController);
videoView.setVideoURI(Uri.parse(videoUrl));
videoView.start();

编辑

你应该使用这个代码 Uri.parse(url) 来提供URI(其中有一个 String url 变量,它具有视频的URL),也要确保URL是正确的。此外,如AkashG建议的那样,您是否为您的应用程序提供了适当的权限(因为它使用互联网,您需要在应用程序的 Manifest.xml 中添加 <uses-permission android:name="android.permission.INTERNET" > )?最后,在您的应用程序的 Manifest.xml中定义您的活动MediaPlayerActivity

您也可以使用 MediaPlayer 。Android开发人员网站有一个很好的教程在这里


我尝试过这个,当我进入媒体播放器活动时它会崩溃。 - user1417302
这需要API LEVEL 21。 - Karue Benson Karue
没有声音,你能帮忙吗? - ralphgabb

7

您可以通过URL加载视频,方法如下:

VideoView videoView = (VideoView) findViewById(R.id.view);
MediaController controller = new MediaController(this);
videoView.setVideoPath("url of the video");
videoView.setMediaController(controller);
videoView.start();

在清单文件中添加Internet权限

0

我认为你可以在这里找到有关从不同来源播放视频的有用信息..

如果您正在使用模拟器, 首先,请勿使用模拟器测试视频播放。它处理视频播放的能力非常有限。请使用实际的Android设备。

其次,当您遇到多媒体问题时,请始终检查LogCat(adb logcat、DDMS或Eclipse中的DDMS透视图)以获取警告。Android使用的多媒体引擎OpenCORE倾向于将错误级别条件记录为警告。

例如,您的视频文件可能没有设置为渐进式下载,这是HTTP流媒体所必需的。在Linux上,您可以通过安装MP4Box并运行MP4Box -hint来修补MP4视频以进行渐进式下载。

希望这个解释对您有帮助。


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