Android使用VideoView播放网络视频

Android支持播放网络上的视频。在播放网络上的视频时,牵涉到视频流的传输,往往有两种协议,一种是HTTP,一种是RTSP。这

两种协议最大的不同是,HTTP协议,不支持实时流媒体的播放,而RTSP协议就支持。

Android中自带的播放器,以及VideoView等都支持上述两种协议,因此,可以直接播放网络上的视频,唯一不同的就是URI。

代码如下:

Java代码

  1. packagedemo.camera;

  2. importandroid.app.Activity;

  3. importandroid.net.Uri;

  4. importandroid.os.Bundle;

  5. importandroid.os.Environment;

  6. importandroid.widget.MediaController;

  7. importandroid.widget.VideoView;

  8. /**

  9. *本实例演示如何在Android中播放网络上的视频,这里牵涉到视频传输协议,视频编解码等知识点

  10. *@authorAdministrator

  11. *Android当前支持两种协议来传输视频流一种是Http协议,另一种是RTSP协议

  12. *Http协议最常用于视频下载等,但是目前还不支持边传输边播放的实时流媒体

  13. *同时,在使用Http协议传输视频时,需要根据不同的网络方式来选择合适的编码方式,

  14. *比如对于GPRS网络,其带宽只有20kbps,我们需要使视频流的传输速度在此范围内。

  15. *比如,对于GPRS来说,如果多媒体的编码速度是400kbps,那么对于一秒钟的视频来说,就需要20秒的时间。这显然是无法忍受的

  16. *Http下载时,在设备上进行缓存,只有当缓存到一定程度时,才能开始播放。

  17. *

  18. *所以,在不需要实时播放的场合,我们可以使用Http协议

  19. *

  20. *RTSP:RealTimeStreamingProtocal,实时流媒体传输控制协议。

  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. publicclassInternetVideoDemoextendsActivity{

  33. publicvoidonCreate(BundlesavedInstanceState){

  34. super.onCreate(savedInstanceState);

  35. this.setContentView(R.layout.video_view);

  36. Uriuri=Uri.parse("rtsp://v2.cache2.c.youtube.com/CjgLENy73wIaLwm3JbT_%ED%AF%80%ED%B0%819HqWohMYESARFEIJbXYtZ29vZ2xlSARSB3Jlc3VsdHNg_vSmsbeSyd5JDA==/0/0/0/video.3gp");

  37. VideoViewvideoView=(VideoView)this.findViewById(R.id.video_view);

  38. videoView.setMediaController(newMediaController(this));

  39. videoView.setVideoURI(uri);

  40. //videoView.start();

  41. videoView.requestFocus();

  42. }

  43. }

更多相关文章

  1. Android流媒体
  2. 2013学Android不得不看的13个视频课程(共404个课时)
  3. Android(安卓)播放Gif 动画
  4. Android视频开发浅析
  5. Android视频技术 分辨率与屏幕大小优化
  6. 一个使用FFmpeg库读取3gp视频的例子-Android中使用FFmpeg媒体库
  7. Android视频采集
  8. Android(安卓)开发平台之我见 Android(安卓)开发
  9. 基于移动平台的多媒体框架——移植播放器到Android上

随机推荐

  1. Android全屏截图的方法,返回Bitmap并且保
  2. Data Binding Guide——google官方文档翻
  3. Android(安卓)内存优化篇 - 使用profile
  4. Android(安卓)基础知识点
  5. 论Android应用进程长存的可行性
  6. Android桌面悬浮窗进阶,QQ手机管家小火箭
  7. 重走Android路 之 挑几个基本控件玩玩(上
  8. Android(安卓)ROM开发(二)——ROM架构以及U
  9. 经济下行趋势明显,Android开发者出路在哪?7
  10. [置顶] Android中webview里js和java的相