Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 播放視頻

Android 播放視頻

編輯:關於Android編程

Android自帶的播放視頻有幾種方法:


第一種方式是使用MediaPlayer 結合SurfaceView 來播放,通過MediaPlayer來控制視頻的播放、暫停、進度等;

第二種方式是使用VideoView 來播放,這個類其實也是繼承了SurfaceView 類,並且實現了MediaController. MediaPlayerController 這個用於控制媒體播放的接口,另外在VideoView上還有一個用於對媒體播放進行控制的面板,包括快進、快退、播放、暫停按鈕以及一個進度條

第三種方式是利用第三方類庫,例如:Vitamio 官網


1.VideoView的使用方法


setVideoViewPath(String path); 設置播放視頻的路徑
setVideoURL(Uri uri); 設置視頻的URI
start(); 開始播放;
seekTo(int msec); 定位;
pause(); 暫停播放;
stop(); 停止播放;
setMediaController(MediaController); 設置MediaController 對象;

媒體控制面版常用方法:MediaController:
hide(); 隱藏MediaController;
show(); 顯示MediaController
show(int timeout); 設置MediaController顯示的時間,以毫秒計算,如果設置為0則一直到調用hide()時隱藏;
實例:

FileCache fileCache = new FileCache(context);
		VideoView ad = (VideoView) findViewById(R.id.welcome_video);
		ad.setMediaController(new MediaController(context));
		ad.setVideoPath(fileCache.getCacheDir()+File.separator+"pad.mp4"); 
		ad.start();

filecache 是自己工程的緩存引用,setMediaController設置播放控制條,可有可無。


2.SurfaceView 使用方法


SurfaceView它用於顯示,SurfaceHolder是用於用來管理這個顯示的SurfaceView對象的。

public SurfaceHolder getHolder () 得到SurfaceHolder對象用於管理SurfaceView

public abstract void addCallback (SurfaceHolder.Callback callback) 添加一個Callback對象監聽SurfaceView的變化
public abstract void setType (int type) 設置SurfaceView的控制方式

實例:

surfaceView=(SurfaceView) this.findViewById(R.id.surfaceView);  
      
        //設置SurfaceView自己不管理緩沖區  
        surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);         
        surfaceView.getHolder().addCallback(new Callback() {          
            @Override  
            public void surfaceDestroyed(SurfaceHolder holder) {  
          
            }  
          
            @Override  
            public void surfaceCreated(SurfaceHolder holder) {  
                if (position>0) {  
                    try {  
                        //開始播放
try {  
            mediaPlayer.reset();  
            mediaPlayer  
            .setAudioStreamType(AudioManager.STREAM_MUSIC);  
            //設置需要播放的視頻  
            mediaPlayer.setDataSource("/mnt/sdcard/movie.mp4");  
            //把視頻畫面輸出到SurfaceView  
            mediaPlayer.setDisplay(surfaceView.getHolder());  
            mediaPlayer.prepare();  
            //播放  
            mediaPlayer.start();          
        } catch (Exception e) {  
            // TODO: handle exception  
        }  
} catch (Exception e) { // TODO: handle exception} } } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } });


3.Vitamio使用參照官方文檔:https://www.vitamio.org/docs/


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved