正常還是建議用mediaplayer+sufaceview 實現視頻播放。但是由於只是實現簡單的播放功能我就使用了videoview,用videoview播放視頻存在的問題就是在固定好的寬高內播放視頻不是原始視頻比例,所以這就需要做出一些設置更改。
關鍵的問題是獲取視頻的寬高有了這個就可以自定義的去設置播放的視頻比例
通過onPrepared回調獲取mediaplayer對象,這樣我們就可以獲取到了視頻的kuanga
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setOnVideoSizeChangedListener(new MediaPlayer.OnVideoSizeChangedListener() {
@Override
public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
//FixMe 獲取視頻資源的寬度
mVideoWidth = mp.getVideoWidth();
//FixMe 獲取視頻資源的高度
mVideoHeight = mp.getVideoHeight();
scale = (float) mVideoWidth / (float) mVideoHeight;
refreshPortraitScreen(showVideoHeight == 0 ? DensityUtil.dip2px(context, 300) : showVideoHeight);