`
zhtch_123
  • 浏览: 84660 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

使用VideoView播放rtsp视频流

 
阅读更多

1.视频播放控制

 

package com.example.rtspvideoview;

import android.app.ProgressDialog;
import android.content.Context;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnPreparedListener;
import android.util.Log;
import android.widget.MediaController;
import android.widget.VideoView;

public class VideoViewController {

	private ProgressDialog loadingDialog; // loading
	private VideoView videoView;
	private Context context;

	public VideoViewController(Context contxt, VideoView mVideoView) {

		videoView = mVideoView;
		context = contxt;
	}

	public void start(String videoUrl) {

		loadingDialog = new ProgressDialog(context);
		loadingDialog.setMessage("Loading...");
		loadingDialog.show();
		// loadingDialog.setCancelable(false);

		final MediaController controll = new MediaController(context);
		controll.setMediaPlayer(videoView);
		videoView.setOnPreparedListener(new OnPreparedListener() {
			@Override
			public void onPrepared(MediaPlayer mp) {
				Log.i("************", "call back after media file registing.");
				loadingDialog.dismiss();
			}
		});
		videoView.setVideoPath(videoUrl);
		videoView.setMediaController(controll);
		videoView.requestFocus();
		videoView.start();
		controll.show();
	}
}

 

 

2.主控制Activity

 

package com.example.rtspvideoview;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.Toast;
import android.widget.VideoView;

public class MainActivity extends Activity {

	private VideoView mVideoView;
	private ProgressDialog loadingDialog; // loading
	private Button btn;
	private VideoViewController con;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
				WindowManager.LayoutParams.FLAG_FULLSCREEN);
		setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
		btn = (Button) findViewById(R.id.control);
		mVideoView = (VideoView) findViewById(R.id.video);
		String url = "rtsp://media2.tripsmarter.com/LiveTV/BTV/";
		con = new VideoViewController(MainActivity.this, mVideoView);

		con.start(url);
		btn.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View arg0) {

				Toast.makeText(MainActivity.this, "点击了按钮", Toast.LENGTH_LONG)
						.show();
				String url="rtsp://218.205.231.149:554/live/1/35AB46A109903442/0037f42790b7cb14.sdp?id=guest&t=1305311828&en=a4d5d7adaf0eca0d907875009a901a85&rs=wap";
				con.start(url);
			}
		});		
	}

}

 

 3.xml配置文件 activity_main.xml

 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    
    <Button android:id="@+id/control" android:layout_width="match_parent" android:layout_height="match_parent"/>
    <VideoView android:id="@+id/video" android:layout_width="fill_parent" android:layout_height="fill_parent"/>

</RelativeLayout>
 

注意:此代码只能在android 3.0以上的系统使用,由于android3.0以上的系统才能解析rtsp视频流。

分享到:
评论

相关推荐

    Android 使用videoview播放Rtsp视频 demo

    Rtsp视频流可能需要一段时间加载,所以必须等待准备就绪才能开始播放。 Rtsp(Real Time Streaming Protocol)是一种用于传输实时数据的协议,常用于在线视频流。它提供了客户端和服务器之间的交互,支持播放、暂停...

    android下videoview播放rtsp的demo

    总之,这个RtspDemo展示了如何在Android应用中使用VideoView播放RTSP视频流,提供了基本的播放、控制功能,并且涉及到了频道切换的处理。对于希望实现类似功能的开发者来说,这是一个很好的起点。

    rtsp视频流的显示,解决vlc对浏览器的限制

    总的来说,要解决“rtsp视频流的显示,解决vlc对浏览器的限制”这一问题,开发者需要理解RTSP协议、WebRTC框架以及可能的服务器端解决方案,结合实际需求选择合适的方法。而"WebRtc视频流"的文件可能为这一过程提供...

    videoview播放rtsp 画面截图

    在本项目中,VideoView被用来播放RTSP视频流,这是一种网络上的实时视频传输方式,常用于IP摄像头等设备的视频传输。 为了在ListView中嵌套VideoView,你需要创建一个自定义的ListView项布局,其中包含一个...

    Android VideoView如何播放RTSP的流.doc.doc

    * 使用 VideoView 控件播放 RTSP 流媒体时,需要设置正确的视频编解码器。 Android 的 VideoView 控件可以播放 RTSP 流媒体,需要使用 setVideoURI() 方法设置 RTSP 流媒体的地址,并注意相关的注意事项。

    VideoView播放Rtsp

    本文将深入探讨如何使用`VideoView`来播放Rtsp(Real-Time Streaming Protocol)流媒体内容,以及涉及到的相关技术点。 首先,我们要理解`VideoView`的基本用法。`VideoView`继承自`SurfaceView`,它可以加载并播放...

    android Rtsp实时播放 低延时

    RTSP是一种协议,常用于流媒体传输,它允许客户端控制服务器上的媒体流,实现播放、暂停、快进等功能。在描述中提到的400毫秒的延时,是一个相当理想的指标,通常在实时视频播放中,达到这样的低延迟是非常关键的。 ...

    引用VLC库使用流畅的播放网络流RTSP 视频

    本项目聚焦于如何使用VLC库与自定义的VideoView和MediaPlayer结合,流畅地播放RTSP视频流。以下将详细阐述相关知识点。 1. **VLC库**: VideoLAN Client(VLC)是一款开源且跨平台的多媒体播放器,支持多种视频、...

    VideoView+MediaPlayer 播放视频

    3. **配置RTSP流**:获取RTSP视频流的URL,并设置给MediaPlayer。 ```java String rtspUrl = "rtsp://your.streaming.server/your_video_stream"; mediaPlayer.setDataSource(rtspUrl); ``` 4. **连接VideoView...

    android 播放rtsp

    本篇文章将详细探讨如何使用Android的VideoView组件来播放RTSP视频流。 ### 1. RTSP介绍 RTSP是一种应用层协议,它的主要作用是控制媒体服务器向客户端推送实时数据。与HTTP不同,RTSP允许客户端按需控制播放速度、...

    Ijkplayer rtsp http 播放

    在Android开发中,实现视频流媒体播放是一个常见的需求,尤其涉及到RTSP(Real Time Streaming Protocol)和HTTP协议时。IJKplayer是一个广受欢迎的开源媒体播放器库,它为开发者提供了强大的功能,支持多种视频格式...

    基于VideoView的本地文件及流媒体播放器

    基于VideoView的本地文件及流媒体播放器,可播放RTSP视频流,也可以播放本地文件。 源码及开发方法,参考: http://blog.csdn.net/fm0517/article/details/46426275

    安卓直播视频播放流媒体IPCameraRTSPDLNA相关-UniversalVideoView视频播放.rar

    总的来说,通过UniversalVideoView,开发者可以构建一个强大的直播视频播放器,支持RTSP协议的IP Camera视频流和DLNA设备的多媒体共享。理解并掌握这些核心技术,将有助于开发者在Android直播视频领域构建出更加优秀...

    Android-VideoView在线播放

    HLS采用m3u8作为索引文件,VideoView能够直接播放m3u8链接的视频流。 **三、VideoView的使用步骤** 1. **创建VideoView**:在布局XML文件中添加VideoView,并设置其大小和位置。 2. **设置视频源**:在代码中,...

    全屏播放器(rtsp流播放)

    "全屏播放器(rtsp流播放)"项目旨在提供一个解决方案,让视频内容可以在没有边界的限制下,以全屏模式流畅播放RTSP流媒体。RTSP(Real-Time Streaming Protocol)是一种用于控制实时流传输的应用层协议,常用于网络...

    Android中Vitamio的VideoView实现网络视频在线播放

    Vitamio 能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,还可以在 Android 与 iOS 上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8) 等常见的多种视频流媒体协议,包括点播与直播 ...

    Android视频播放demo

    使用`VideoView`的优点在于它提供了基本的视频控制,如播放、暂停、停止和调整音量。在`VideoView`中,可以通过`setVideoPath()`或`setVideoURI()`方法设置视频源,然后调用`start()`方法开始播放。 然而,`...

    安卓直播视频播放流媒体IPCameraRTSPDLNA相关-Android端海康视频取流可以实时预览与查看历史录像.rar

    总之,这个压缩包提供了实现Android端IP Camera视频流播放和历史录像查看的实例,涵盖了RTSP协议的使用、DLNA的集成以及多媒体框架的运用等多个技术点。对于希望深入理解和实践安卓视频流媒体开发的开发者来说,这是...

    Android代码-调用系统默认播放器RTSP流媒体。.rar

    RTSP是一种协议,用于控制多媒体数据的实时传输,通常用于在线视频流服务。以下将详细介绍如何在Android应用中实现这一功能。 首先,我们需要理解Android的多媒体框架。Android系统提供了MediaController和...

    Android rtsp camera

    在Android应用中,RTSP常用于实现远程视频监控、视频会议等场景,因为它能有效地处理网络延迟,确保视频流的稳定传输。 要实现Android RTSP相机,首先需要理解Android的Camera API。Android提供了两个版本的Camera ...

Global site tag (gtag.js) - Google Analytics