文档章节

Android使用VideoView播放网络视频

rainy86
 rainy86
发布于 2014/07/07 14:34
字数 628
阅读 2398
收藏 7
Android使用VideoView播放网络视频

 

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

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

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

代码如下:

Java代码 

  1. package demo.camera;  

  2. import android.app.Activity;  

  3. import android.net.Uri;  

  4. import android.os.Bundle;  

  5. import android.os.Environment;  

  6. import android.widget.MediaController;  

  7. import android.widget.VideoView;  

  8. /** 

  9.  * 本实例演示如何在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. }  

本文转载自:http://blog.csdn.net/kepoon/article/details/6772060

rainy86
粉丝 2
博文 15
码字总数 37
作品 0
咸阳
程序员
私信 提问
android之多媒体篇(一)

Android 4.0.3(Api Level 15)支持的多媒体格式。 注意:有些设备可能支持其他的文件格式。 1.Audio AAC LC/LTP、HE-AACv1(AAC+)、AMR-NB、AMR-WB、MP3、MIDI、Ogg Vorbis、PCM/WAVE、FLAC(...

Chanimalx
2013/03/29
6.1K
0
一起学Android之音频视频

概述 Android多媒体框架支持各种常见的媒体类型,可以很容易地将音频、视频和图像集成到App中。通过MediaPlayer Api,可以从应用程序资源(RAW)、文件系统或网络上数据流资源来播放音频或视...

Alan.hsiang
07/13
0
0
Rexsee API介绍:Android视频播放,Rexsee的VideoPlayer函数说明与源码

在Android上实现视频播放并不是非常困难,可以直接通过MediaPlayer类,也可以用VideoView进行封装。这里介绍的是Rexsee的VideoPlayer扩展,支持直接使用js。 【函数】 boolean start(String...

yejiang
2012/03/21
789
0
Vitamio使用篇,打造强悍的视频播放器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26787115/article/details/87891298 Vitamio是一个优秀的Android视频框架,很多人也在用,所以这篇文章就是...

刘某人程序员
02/23
0
0
android onSaveInstanceState

无意中留意到 onCreate(Bundle savedInstanceState) ,savedInstanceState究竟是什么,于是上网搜了搜 当某个activity变得“容易”被系统销毁时,该activity的onSaveInstanceState就会被执行,...

Jonson
2014/04/16
72
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 他只能用这个办法劝你注意身体了

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @-冰冰棒- :#今日歌曲推荐# Kodaline《High Hopes》 《High Hopes》- Kodaline 手机党少年们想听歌,请使劲儿戳(这里) @xiaoshiyue :仙女...

小小编辑
10分钟前
346
10
Spring Boot Actuator 整合 Prometheus

简介 Spring Boot 自带监控功能 Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、环境变量、日志信息、线程信息等。这一节结合 Prometheus 、Grafana 来更加直观...

程序员果果
19分钟前
3
0
Linux文件查找命令详解

对于文件查找,我们最好用的还是属于find命令了,在说find命令之前,先把另外几个查找命令介绍一下。 目录 0x01 查询命令介绍 0x02 find命令介绍 0x01 查询命令介绍 在介绍之前,首先先了解一...

无心的梦呓
19分钟前
3
0
快速掌握的测试用例优先级划分方法

怎么样的设计才能算测试用例 引自:IEEE Standard 610 (1990): A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exe......

测者陈磊
23分钟前
3
0
[mycat]Attribute value "roadNodeId,version" of type NMTOKEN must be a name token

不能逗号配两个字段的主键 primaryKey="roadNodeId,version" Caused by: io.mycat.config.util.ConfigException: org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 105; Attrib......

Danni3
28分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部