一、 xxxvideo.java
public class RemoteVideo extends Activity {
private String path = "";
private String textUrl = "";
private VideoView mVideoView;
private static int i = 0;
private int width;
private int heigh;
private Dialog dialog;
private Handler mHandler = new Handler();
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Bundle bundle = this.getIntent().getExtras();
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
width=dm.widthPixels;
heigh=dm.heightPixels;
textUrl = bundle.getString("url");
if(width/heigh>0)
{
setContentView(R.layout.videoview);
path = bundle.getString("widthurl");
Log.i("mp4", "heng"+path);
}
if(width/heigh==0)
{
setContentView(R.layout.view);
path = bundle.getString("heighturl");
Log.i("mp4", "shu"+path);
}
dialog=ProgressDialog.show(this, "视频加载中...", "请您稍候");
mVideoView = (VideoView) findViewById(R.id.surface_view);
mVideoView.setVideoPath(path);
MediaController controller = new MediaController(this);
mVideoView.setMediaController(controller);
mVideoView.requestFocus();
mVideoView.setOnPreparedListener(new OnPreparedListener() {
//@Override
public void onPrepared(MediaPlayer mp) {
mVideoView.setBackgroundColor(Color.argb(0, 0, 255, 0));
dialog.dismiss();
}
});
mVideoView.setOnCompletionListener(new OnCompletionListener() {
//@Override
public void onCompletion(MediaPlayer mp) {
Toast.makeText(RemoteVideo.this, "video play finished!", Toast.LENGTH_LONG)
.show();
}
});
controller.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
}
@Override
protected void onResume() {
super.onResume();
mVideoView.seekTo(i);
mVideoView.start();
}
@Override
protected void onStop() {
super.onStop();
mVideoView.pause();
i = mVideoView.getCurrentPosition();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
finish();
return true;
}
return false;
}
}
说明:
1. VideoView可接收本地和远程的视频源并解码;
2. MediaController为videoview的控制条类;
3. bundle获取intent传过来的视频路径;
二、videoview.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:gravity="left" android:orientation="horizontal">
<VideoView android:id="@+id/surface_view"
android:layout_width="176px" android:layout_height="132px"
android:layout_gravity="left" />
<WebView android:id="@+id/web_openonline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ccwwff/archive/2011/01/06/6119700.aspx
分享到:
相关推荐
总结起来,Android中使用`VideoView`播放Rtsp视频涉及的关键步骤包括:设置`VideoView`,提供Rtsp URL,创建并设置`MediaController`,监听准备事件并开始播放。在实际开发中,你还需要关注网络条件、设备兼容性以及...
videoView.setVideoURI(Uri.parse(rtspUrl)); ``` 这里的`chXXyqvga.3gp`是频道标识,其中的"XX"可以根据实际需求替换为不同的频道编号。需要注意的是,RTSP服务器的IP地址和端口号可能会根据实际情况变化,因此在...
`VideoView`可以加载本地媒体资源,也可以通过`setDataSource()`方法设置网络URL来播放在线视频。 在本Demo中,`MediaView`自定义控件继承自`FrameLayout`,这是一个容器布局,可以容纳多个子视图。这种设计允许...
在Android开发中,VideoView是Android SDK提供的一种用于在应用中播放视频的组件。它是一个视图类,可以直接在布局中使用,使得开发者能够轻松地将视频内容集成到应用程序中。本篇文章将深入探讨如何使用VideoView...
这里,`videoPath`可以是本地资源的路径,也可以是网络URL。当准备就绪(onPrepared)时,视频开始播放。 为了提供用户交互,VideoView还可以与MediaController配合使用,提供播放、暂停、快进/后退等控制。...
- 对于网络视频,可以使用HttpURLConnection或OkHttp等网络库获取URL。 4. **播放视频** - 调用`start()`方法开始播放视频。 ``` videoView.setVideoURI(uri); videoView.setOnPreparedListener(new ...
在Android开发中,`VideoView`是一个非常重要的组件,它允许开发者在应用程序中集成视频播放功能。本篇文章将深入探讨如何使用`VideoView`来播放视频,包括在`WebView`中播放、使用系统内置的`VideoView`以及自定义`...
播放网络视频时,我们需要网络视频的URL。同样,先通过`setVideoURI()`方法设置视频源: ```java Uri videoUri = Uri.parse("http://example.com/your_video.mp4"); videoView.setVideoURI(videoUri); ``` 然后...
在Android开发中,VideoView是系统提供的一种用于播放视频的组件。VideoView是基于MediaPlayer库构建的,可以方便地在应用程序中嵌入视频播放功能。本Demo主要关注VideoView在播放过程中可能出现的缓冲和卡顿问题,...
视频源可以是本地文件路径、资源ID或者网络URL: ```java VideoView videoView = findViewById(R.id.videoView); videoView.setVideoURI(Uri.parse("你的视频路径")); ``` 设置好视频源后,你可以设置VideoView的...
在Android开发中,VideoView是用于播放视频的基本组件。它是一个可以嵌入到布局中的视图,能够方便地实现视频的播放、暂停、全屏等操作。本篇将深入探讨如何监听VideoView的缓冲状态、实时显示下载速度,并实现大小...
然后,可以通过setVideoPath()或setVideoURI()方法设置视频源,可以是本地文件路径或者网络URL。 2. **播放控制**:VideoView提供了start()、pause()和stopPlayback()方法来控制视频的播放、暂停和停止。通过seekTo...
videoView.setVideoURI(Uri.parse(rtspUrl)); ``` 5. **准备和启动播放**:调用MediaPlayer的prepareAsync()方法进行异步准备,然后在onPrepared监听器中启动播放。 ```java mediaPlayer.prepareAsync(); ``` ...
`VideoView`同样支持播放网络视频,只需将视频的URL传递给`setVideoURI()`方法。注意,播放网络视频可能需要处理网络权限(`INTERNET`)和读取外部存储权限(`READ_EXTERNAL_STORAGE`)。 ```java videoView....
在这个案例中,开发者可能在 `VideoView` 的子类中实现了网络请求部分,以便在API级别21以下的设备上也能设置和传递cookie。这通常涉及到使用 `HttpURLConnection` 或第三方库(如OkHttp)来发送带有cookie的HTTP...
`VideoView`可以通过`setVideoURI()`方法设置视频源,可以是本地文件路径或者网络URL。例如: ```java VideoView videoView = (VideoView) findViewById(R.id.video_view); videoView.setVideoURI(Uri.parse(...
要使用`VideoView`播放网络视频,首先需要准备视频的URL。然后,可以通过以下步骤设置`VideoView`: 1. 在XML布局文件中声明`VideoView`: ```xml <VideoView android:id="@+id/video_view" android:layout_width...
在Android开发中,VideoView是Android SDK提供的一种用于播放视频的视图组件。它使得开发者能够在应用程序中轻松地集成视频播放功能,而无需深入理解多媒体处理的底层细节。本篇文章将详细探讨如何在Android应用中...
在Android开发中,VideoView是用于播放视频的一个重要组件,它可以轻松地集成到应用程序中,为用户提供便捷的视频播放体验。VideoView支持本地视频播放,同时也可与MediaController结合使用,提供诸如播放、暂停、快...
在Android开发中,VideoView是系统提供的一种用于播放视频的视图组件,它极大地简化了在应用程序中集成视频播放的功能。本Demo通过自定义MediaController并结合VideoView,实现了视频的半屏播放和全屏播放功能,这在...