Use the interfaces provided by the android SDK to develop the simplest video playback demo.
Next, paste the source code of main. xml:
[Html]
<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">
<SurfaceView
Android: id = "@ + id/surfaceView1"
Android: layout_width = "wrap_content"
Android: layout_height = "360dp"
Android: layout_alignParentLeft = "true"
Android: layout_alignParentRight = "true"
Android: layout_alignParentTop = "true"/>
</RelativeLayout>
Next, paste the program source code:
[Java]
Package com. example. surfacemediaplayer;
Import android. media. MediaPlayer;
Import android. OS. Bundle;
Import android. OS. Environment;
Import android. app. Activity;
Import android. view. Menu;
Import android. view. SurfaceHolder;
Import android. view. SurfaceView;
Import android. view. SurfaceHolder. Callback;
Public class SurfaceMediaPlayer extends Activity {
SurfaceView surfaceView;
MediaPlayer mediaPlayer;
@ Override
Public void onCreate (Bundle savedInstanceState ){
Super. onCreate (savedInstanceState );
SetContentView (R. layout. activity_surface_media_player );
MediaPlayer = new MediaPlayer ();
SurfaceView = (SurfaceView) this. findViewById (R. id. surfaceView1 );
SurfaceView. getHolder (). addCallback (new Callback (){
@ Override
Public void surfaceDestroyed (SurfaceHolder holder ){
}
@ Override
Public void surfaceCreated (SurfaceHolder holder ){
// Start playing
Play ();
}
@ Override
Public void surfaceChanged (SurfaceHolder holder, int format, int width,
Int height ){
}
});
}
Private void play (){
Try {
String path = Environment. getExternalStorageDirectory (). getPath () + "/Movies/run_to_you.3gp ";
MediaPlayer. setDataSource (path );
// Output the video image to SurfaceView
MediaPlayer. setDisplay (surfaceView. getHolder ());
MediaPlayer. prepare ();
// Start playing
MediaPlayer. start ();
} Catch (Exception e ){
// TODO: handle exception
}
}
@ Override
Public boolean onCreateOptionsMenu (Menu menu ){
GetMenuInflater (). inflate (R. menu. activity_surface_media_player, menu );
Return true;
}
}
Program running: