此控制項繼承自SurfaceView,利用MediaPlayer 播放影片。
小影片播放介面
MoviePlayerView.java
import java.io.IOException;import android.content.Context;import android.media.AudioManager;import android.media.MediaPlayer;import android.media.MediaPlayer.OnCompletionListener;import android.util.AttributeSet;import androidroidview.Surface. ;import android.view.SurfaceHolder.Callback;import android.view.SurfaceView; /** * 影片播放控制*@author liuyinjun * @date 2015-2-8 */public class MoviePlayerView extends SurfaceView { private SurfaceHolder mSurfaceHolder; private MediaPlayer mPlayer; context, null); } public MoviePlayerView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public MoviePlayerView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); mSurfaceHolder.addCallback(mSurfaceHolderCallback); // holder加入回呼接口mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);// setType必須設置,要不出錯. } /** * 播放視頻* @param Name 路徑* (String fileName, final OnPlayCompletionListener completion? ) { stop(); if(completionListener != null) completionListener.onPlayCompletion(); // canvas.drawColor(Color.TRANSPARENT, // PorterDuff.Mode.CLEAR); } }); try { mPlayer.setDataSource(fileName); mPlayerfileName); mPlayerfileName); .prepare(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } mPlayer.start(); } private void stop() { if (mPlayer != null) { mPlayer.release(); mPlayer = null; } } /** * 釋放資源*/ public void release() { if (mPlayer != null) { mPlayer.release(); mPlayer = null; } } private Callback mSurfaceHolderCallback = new Callback() { @Override public void surfaceDestroyed(SurfaceHolder arg0) { mSurride public void surfaceDestroyed(SurfaceHolder arg0) { mSurfaceHolver =Holull }Oface arg0) { // TODO Auto-generated method stub mSurfaceHolder = arg0; } @Override public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) { // TODO Auto-generated method stub mSurfaceHolder = arg3) { // TODO Auto-generated method stub mSurfaceHolder = arg3;回調*@author liuyinjun * @date 2015-2-9 */ public interface OnPlayCompletionListener{ public void onPlayCompletion(); } }以上所述就是本文的全部內容了,希望大家能夠喜歡。