安卓中的視頻播放器

安卓中的視頻播放器

安卓中我們基本上會用到三種方式來播放視頻
第一種,系統的視頻播放器:


public class MainActivity extends Activity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    //點擊調取系統的播放器
    public void getdata(View v){
    //Intent.ACTION_VIEW 系統播放器  打開視頻播放器
    Intent it = new Intent(Intent.ACTION_VIEW);
//加載路徑資源 類型
    Uri data = Uri.parse(Environment.getExternalStorageDirectory()+"/minion_08.mp4");
    it.setDataAndType(data, "video/*");
    startActivity(it);
   /**
    *act=android.intent.action.VIEW 
    *dat=/storage/sdcard/minion_08.mp4 typ=video/* 
    *cmp=com.android.gallery/com.android.camera.MovieView
    */
   
    }
    
}



第二種,VideoView播放視頻


public class MainActivity extends Activity {


private VideoView videoView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //獲取資源ID
        videoView = (VideoView) findViewById(R.id.video);
        //加載視頻
        videoView.setVideoPath(Environment.getExternalStorageDirectory()+"/minion_08.mp4");
        //得到媒體控制器
        MediaController mediaController = new MediaController(this);
        //設置媒體控制器
        videoView.setMediaController(mediaController);
        //對媒體控制器設置控制的視圖  錨
        mediaController.setAnchorView(videoView);
        //播放
        videoView.start();
        
    }
}
佈局文件代碼是:
<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}" >


    <VideoView 
        android:id="@+id/video"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />


</RelativeLayout>


第三種,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);
        //加載資源
        mediaPlayer = MediaPlayer.create(this,Uri.parse(Environment.getExternalStorageDirectory()+"/minion_08.mp4"));
        
        new Thread(){
        public void 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();
    }
}


佈局文件代碼是:
<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="match_parent"
        />


</RelativeLayout>







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章