借助MediaController和VideoView类,我们可以在android中播放视频文件。
MediaController类android.widget.MediaController是一个包含媒体控件(如播放/暂停,上一个,下一个,快进,快退等)的视图。
VideoView类别android.widget.VideoView类提供了播放和控制视频播放器的方法。 VideoView类的常用方法如下:
方法 | 描述 |
---|---|
public void setMediaController(MediaController controller) | 将媒体控制器设置为视频视图。 |
public void setVideoURI (Uri uri) | 设置视频文件的URI。 |
public void start() | 启动视频视图。 |
public void stopPlayback() | 停止播放。 |
public void pause() | 暂停播放。 |
public void suspend() | 暂停播放。 |
public void resume() | 恢复播放。 |
public void seekTo(int millis) | 寻求以毫秒为单位的指定时间。 |
<
RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" ><
VideoView
android:id="@+id/videoView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true" /><
/RelativeLayout>
活动类【android播放视频用法示例】让我们编写播放视频文件的代码。在这里,我们将播放sdcard / media目录中的1.mp4文件。
package com.example.video1;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.MediaController;
import android.widget.VideoView;
public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
VideoView videoView =(VideoView)findViewById(R.id.videoView1);
//Creating MediaController
MediaController mediaController= new MediaController(this);
mediaController.setAnchorView(videoView);
//specify the location of media file
Uri uri=Uri.parse(Environment.getExternalStorageDirectory().getPath()+"/media/1.mp4");
//Setting MediaController and URI, then starting the videoView
videoView.setMediaController(mediaController);
videoView.setVideoURI(uri);
videoView.requestFocus();
videoView.start();
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu;
this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}}
你需要在真实设备(例如移动设备)上运行它以测试应用程序。
推荐阅读
- android mediarecorder例子
- android播放音频用法示例
- android json解析教程
- android XMLPullParser使用教程
- 使用dom解析器进行android xml解析
- 使用sax解析器进行android xml解析
- android sqlite和spinner的用法示例
- android sqlite用法教程
- android外部存储示例