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中使用`VideoView`播放Rtsp视频涉及的关键步骤包括:设置`VideoView`,提供Rtsp URL,创建并设置`MediaController`,监听准备事件并开始播放。在实际开发中,你还需要关注网络条件、设备兼容性以及...
本教程将深入讲解如何在Android Studio中使用VideoView来播放网络视频。 首先,让我们了解VideoView的基本用法。在布局XML文件中,你需要添加一个VideoView元素,并为其指定一个ID,以便在Java代码中引用: ```xml...
在Android开发中,VideoView是系统提供的一种用于播放视频的视图组件,它使得开发者能够方便地在应用程序中集成视频播放功能。VideoView可以播放本地存储的视频文件,也可以通过流媒体方式播放网络上的视频资源。...
在Android开发中,VideoView是Android SDK提供的一种用于在应用程序中播放视频的组件。它封装了MediaPlayer类,简化了视频播放的操作。VideoView可以轻松地集成到布局中,并且提供了控制视频播放的能力,如播放、...
在Android开发中,VideoView是用于播放视频的一个重要组件,它可以轻松地集成到应用程序中,为用户提供便捷的视频播放体验。VideoView支持本地视频播放,同时也可与MediaController结合使用,提供诸如播放、暂停、快...
1、效果展示 2、布局文件 <?xml version=1.0 encoding=utf-8?> ...RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android ... android:paddingBottom=@dimen/activity_ve
- 使用ExoPlayer替代VideoView:ExoPlayer是Google推荐的媒体播放库,提供了更强大的功能和更好的性能,对于复杂情况下的视频播放更加稳定。 - 自定义渲染器:针对卡顿问题,可以考虑自定义SurfaceView或...
Android 使用VideoView播放MP4的简单实现 Android 中使用 VideoView 播放 MP4 文件...这篇文章主要介绍了如何使用 VideoView 播放 MP4 文件,实现简单的播放功能,希望能够帮助读者更好地理解 Android 中的视频播放。
`VideoView`可以加载本地媒体资源,也可以通过`setDataSource()`方法设置网络URL来播放在线视频。 在本Demo中,`MediaView`自定义控件继承自`FrameLayout`,这是一个容器布局,可以容纳多个子视图。这种设计允许...
7. **本地视频**:如果网络视频无法播放,可以尝试使用本地存储的视频资源,确保路径正确,例如: ```java setVideoPath("/sdcard/my_video.mp4"); ``` 在问题描述中,作者提到的问题是因为使用了网上找的视频素材...
Vitamio 能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,还可以在 Android 与 iOS 上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8) ...我的例子是使用Vitamio的VideoView实现网络视频在线播放
总之,这个RtspDemo展示了如何在Android应用中使用VideoView播放RTSP视频流,提供了基本的播放、控制功能,并且涉及到了频道切换的处理。对于希望实现类似功能的开发者来说,这是一个很好的起点。
VideoView继承自SurfaceView,它提供了加载和播放本地或网络视频的能力。通过setVideoURI()方法指定视频源,然后调用start()方法开始播放。VideoView可以自动调整大小以适应父布局,也可以通过调整其LayoutParams来...
在本文中,我们将深入探讨如何使用`VideoView`实现一个基本的视频播放器,包括播放网络视频、显示进度条、显示播放时间以及控制播放与暂停。 首先,我们需要在布局文件中添加`VideoView`元素,它将承载我们的视频...
本篇文章将深入探讨如何使用VideoView在Android设备的SD卡上播放视频文件。 **VideoView** 是Android SDK提供的一种视图,用于显示视频内容。它可以嵌入到布局中,就像普通的TextView或ImageView一样。VideoView...
这个"Android原生VideoView视频开发demo"是专为初学者设计的实践项目,旨在帮助他们理解和掌握如何在Android应用程序中使用VideoView来播放视频。 首先,VideoView是Android SDK中的一个视图类,它继承自...
- 播放网络视频时,需要确保设备有网络连接,并处理可能的网络错误。 - 为了兼容不同设备和分辨率,视频应以适应多种屏幕尺寸的格式提供。 以上就是关于Android VideoView的基本使用和相关知识点,通过掌握这些,...
总结来说,`VideoView`和`MediaController`的组合是Android中播放网络视频的标准方式。通过适当配置和处理,可以实现流畅的播放体验和预加载功能,提升用户满意度。在实际应用中,还需要根据网络状况、设备性能等...
在Android开发中,VideoView是系统提供的一种用于播放...以上就是使用VideoView在Android中播放网络视频的基本实现,包括视频的播放、暂停和重播功能。在实际应用中,还可以根据需求添加更多的自定义功能和优化措施。