1.使用eclipse建立一个默认的android工程。
2.修改layout文件
1)打开res\layout\main.xml
2)删除TextView
3)加入SurfaceView
<SurfaceView
android:id = "@+id/surfaceView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
3.修改Java程序
package playVideo.pack;
import android.app.Activity;
import android.os.Bundle;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.List;
import android.content.ContentValues;
import android.content.res.Configuration;
import android.hardware.Camera;
import android.net.Uri;
import android.provider.MediaStore.Images.Media;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
import android.media.AudioManager;
import android.media.MediaPlayer;
public class PlayVideoActivity extends Activity implements SurfaceHolder.Callback{
/** Called when the activity is first created. */
SurfaceView surfaceView;
SurfaceHolder surfaceHolder;
//String str = "/sdcard/test.mp4";
String str = "/sdcard/music/01.mp3";
MediaPlayer mediaPlayer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
surfaceView = (SurfaceView) findViewById(R.id.surfaceView);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setFixedSize(320,240);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mediaPlayer = new MediaPlayer();
}
public void playVideo(String str)
{
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDisplay(surfaceHolder);
try
{
mediaPlayer.setDataSource(str);
mediaPlayer.prepare();
}
catch (Exception e)
{
e.printStackTrace();
}
mediaPlayer.start();
}
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
}
public void surfaceCreated(SurfaceHolder arg0) {
playVideo(str);
}
public void surfaceDestroyed(SurfaceHolder arg0) {
}
}
2.修改layout文件
1)打开res\layout\main.xml
2)删除TextView
3)加入SurfaceView
<SurfaceView
android:id = "@+id/surfaceView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
3.修改Java程序
package playVideo.pack;
import android.app.Activity;
import android.os.Bundle;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.List;
import android.content.ContentValues;
import android.content.res.Configuration;
import android.hardware.Camera;
import android.net.Uri;
import android.provider.MediaStore.Images.Media;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
import android.media.AudioManager;
import android.media.MediaPlayer;
public class PlayVideoActivity extends Activity implements SurfaceHolder.Callback{
/** Called when the activity is first created. */
SurfaceView surfaceView;
SurfaceHolder surfaceHolder;
//String str = "/sdcard/test.mp4";
String str = "/sdcard/music/01.mp3";
MediaPlayer mediaPlayer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
surfaceView = (SurfaceView) findViewById(R.id.surfaceView);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setFixedSize(320,240);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mediaPlayer = new MediaPlayer();
}
public void playVideo(String str)
{
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDisplay(surfaceHolder);
try
{
mediaPlayer.setDataSource(str);
mediaPlayer.prepare();
}
catch (Exception e)
{
e.printStackTrace();
}
mediaPlayer.start();
}
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
}
public void surfaceCreated(SurfaceHolder arg0) {
playVideo(str);
}
public void surfaceDestroyed(SurfaceHolder arg0) {
}
}