1.在xml创建一个SurfaceView控件
<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"
tools:context="${relativePackage}.${activityClass}" >
<SurfaceView
android:id="@+id/surfaceView"
android:layout_width="match_parent"
android:layout_height="300dp"/>
</RelativeLayout>
2.java代码
package com.example.surfaceholder_1;
import android.app.Activity;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
public class MainActivity extends Activity {
private SurfaceView surfaceView;
private MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取资源ID
surfaceView=(SurfaceView) findViewById(R.id.surfaceView);
//获取视频资源
Uri parse = Uri.parse(Environment.getExternalStorageDirectory()+"/bbb.mp4");
mediaPlayer=MediaPlayer.create(MainActivity.this, parse);
//创建子线程
new Thread(){
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
//储存
SurfaceHolder holder = surfaceView.getHolder();
//监听
holder.addCallback(new Callback() {
//销毁视图
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
}
//加载视图
@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
//加载
mediaPlayer.setDisplay(holder);
//播放
mediaPlayer.start();
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub
}
});
}
}.start();
}
}
3.最后在androidmanifest.xml里加上权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>