用SurfaceView播放视频

mac2022-06-30  23

1、定义

private int mVideoWidth; private int mVideoHeight;

private MediaPlayer mMediaPlayer; private SurfaceView mPreview; private SurfaceHolder holder; private String path;

mPreview = (SurfaceView) findViewById(R.id.surface); /* 得到SurfaceHolder对象 */ holder = mPreview.getHolder(); /* 设置回调函数 */ holder.addCallback(this); /* 设置风格 */ holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

2、播放

path = "/sdcard/aas.mp4"; /* 构建MediaPlayer对象 */ mMediaPlayer = new MediaPlayer(); /* 设置媒体文件路径 */ mMediaPlayer.setDataSource(path); /* 设置通过SurfaceView来显示画面 */ mMediaPlayer.setDisplay(holder); /* 准备 */ mMediaPlayer.prepare(); /* 设置事件监听 */ mMediaPlayer.setOnBufferingUpdateListener(this); mMediaPlayer.setOnCompletionListener(this); mMediaPlayer.setOnPreparedListener(this); mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

 

mVideoWidth = mMediaPlayer.getVideoWidth(); mVideoHeight = mMediaPlayer.getVideoHeight(); if (mVideoWidth != 0 && mVideoHeight != 0) { /* 设置视频的宽度和高度 */ holder.setFixedSize(mVideoWidth, mVideoHeight); /* 开始播放 */ mMediaPlayer.start(); }

转载于:https://www.cnblogs.com/wdc224/p/3744069.html

相关资源:Android下使用SurfaceView播放视频文件
最新回复(0)