Android支持播放网络上的视频。在播放网络上的视频时,牵涉到视频流的传输,往往有两种协议,一种是HTTP,一种是RTSP。这
两种协议最大的不同是,HTTP协议,不支持实时流媒体的播放,而RTSP协议就支持。
Android中自带的播放器,以及VideoView等都支持上述两种协议,因此,可以直接播放网络上的视频,唯一不同的就是URI。
代码如下:
Java代码
01. package demo.camera;
02. import android.app.Activity;
03. import android.net.Uri;
04. import android.os.Bundle;
05. import android.os.Environment;
06. import android.widget.MediaController;
07. import android.widget.VideoView;
08. /**
09. * 本实例演示如何在Android中播放网络上的视频,这里牵涉到视频传输协议,视频编解码等知识点
10. * @author Administrator
11. *Android当前支持两种协议来传输视频流一种是Http协议,另一种是RTSP协议
12. *Http协议最常用于视频下载等,但是目前还不支持边传输边播放的实时流媒体
13. *同时,在使用Http协议 传输视频时,需要根据不同的网络方式来选择合适的编码方式,
14. *比如对于GPRS网络,其带宽只有20kbps,我们需要使视频流的传输速度在此范围内。
15. *比如,对于GPRS来说,如果多媒体的编码速度是400kbps,那么对于一秒钟的视频来说,就需要20秒的时间。这显然是无法忍受的
16. *Http下载时,在设备上进行缓存,只有当缓存到一定程度时,才能开始播放。
17. *
18. *所以,在不需要实时播放的场合,我们可以使用Http协议
19. *
20. *RTSP:Real Time Streaming Protocal,实时流媒体传输控制协议。
21. *使用RTSP时,流媒体的格式需要是RTP。
22. *RTSP和RTP是结合使用的,RTP单独在Android中式无法使用的。
23. *
24. *RTSP和RTP就是为实时流媒体设计的,支持边传输边播放。
25. *
26. *同样的对于不同的网络类型(GPRS,3G等),RTSP的编码速度也相差很大。根据实际情况来
27. *
28. *使用前面介绍的三种方式,都可以播放网络上的视频,唯一不同的就是URI
29. *
30. *本例中使用VideoView来播放网络上的视频
31. */
32. public class InternetVideoDemo extends Activity {
33.
34. public void onCreate(Bundle savedInstanceState){
35. super.onCreate(savedInstanceState);
36. this.setContentView(R.layout.video_view);
37.
38. Uri uri = Uri.parse("rtsp://v2.cache2.c.youtube.com/CjgLENy73wIaLwm3JbT_%ED%AF%80%ED%B0%819HqWohMYESARFEIJbXYtZ29vZ2xlSARSB3Jlc3VsdHNg_vSmsbeSyd5JDA==/0/0/0/video.3gp");
39. VideoView videoView = (VideoView)this.findViewById(R.id.video_view);
40. videoView.setMediaController(new MediaController(this));
41. videoView.setVideoURI(uri);
42. //videoView.start();
43. videoView.requestFocus();
44. }
45. }
分享到:
相关推荐
Android studio 的videoView播放网络视频 demo,直接把项目导入 工程中运行可用。
1、效果展示 2、布局文件 <?xml version=1.0 encoding=utf-8?> ...RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android ... android:paddingBottom=@dimen/activity_ve
Vitamio 能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,还可以在 Android 与 iOS 上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8) ...我的例子是使用Vitamio的VideoView实现网络视频在线播放
实现功能:1 采用videoview 播放网络获取的视频 2 seekbar进度调显示当前播放进度 3 显示总时间和当前播放时间 4 暂停和播放按钮
Android播放视频,包含系统自带VideoView控件,和自定义VideoView控件,可全屏播放,案例包含了本地视频和网络视频。
这个Demo包括:播放网络视频卡顿监听、缓冲加载动画、实时下载速度、以及大小屏切换,略微实现了功能,还不够完善
参考网上代码,用android实现在线视频播放。
主要介绍了Android App中使用VideoView来实现视频播放的方法,举例讲解了VideoView组件中setVidePath(String path)和setVideoURI(Uri uri)的用法,需要的朋友可以参考下
Android播放视频,包含系统自带VideoView控件,和自定义VideoView控件,可全屏播放,案例包含了本地视频和网络视频。
Android生成视频预览缩略图播放指定视频,学习一下如何获取界面上VideoView组件,如何创建MediaController对象,设置videoView与mController建立关联,设置mController与videoView建立关联,让VideoView获取焦点等...
Android播放视频,包含系统自带VideoView控件,和自定义VideoView控件,可全屏播放,案例包含了本地视频和网络视频。 1:自定义VideoView控件 2:布局代码 3:Activity代码: 4:网络权限 5:效果图 小结:其中...
基本实现了。
视频录制,视频预览,视频网络播放时,视频本地播放
VideoView 播放本地SD卡中的视频,并且注释掉的是从网络下载的视频保存到本地的
android videoview 视频 流媒体播放
Android播放网络视频,视频一边播放,一边缓存本地,下次进入如视频为同一个则直接从本地缓存读取并播放。(使用VideoView,并处理VideoView播放时候不能全屏的问题。)
Android VideoView视频播放 以及SurfaceView+MediaPlayer 的简单封装,支持播放本地和网络视频
(2)熟悉Android中播放视频的主要类VideoView和SurfaceView (3)学会使用SoundPool类播放音频 (4)学会使用MediaPlayer类播放本地音频和网络音频 (5)学会使用VideoView控件播放本地视频 (6)学会使用...
是自己动手做的网络视频,基于安卓videoview开发的,包括快进退,暂停手势扩张和收缩实现全屏切换,获取网络视频某一帧图片,在我的htc上可以,4.0的版本。