android视频不播放的问题
16lz
2021-01-23
在android有时候要播放一些本地或远程的视频,通常使用如下的代码:
mMediaPlayer = new MediaPlayer();mMediaPlayer.setDataSource(path);mMediaPlayer.setDisplay(holder);mMediaPlayer.prepareAsync();mMediaPlayer.setOnBufferingUpdateListener(this);mMediaPlayer.setOnCompletionListener(this);mMediaPlayer.setOnPreparedListener(this);mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
在OnPreparedListener的onPrepared(MediaPlayer)方法中回下如下的代码:
Log.d(TAG, "onPrepared called");mVideoWidth = mMediaPlayer.getVideoWidth();mVideoHeight = mMediaPlayer.getVideoHeight();Log.d(TAG, "***********mVideoWidth====="+mVideoWidth+"==mVideoHeight===" + mVideoHeight);if (mVideoWidth != 0 && mVideoHeight != 0) {holder.setFixedSize(mVideoWidth, mVideoHeight);mMediaPlayer.start();}//去掉buffer对话框bufferingDialog.dismiss();
但是有时间得到视频的宽度和高度为0但是视频还是可以播的,也就是视频中没有提供宽和高的数据,那么如果还使用上面的代码则视频不会播放可以在此处使用如下代码:
if (mVideoWidth != 0 && mVideoHeight != 0) {holder.setFixedSize(mVideoWidth, mVideoHeight);}mMediaPlayer.start();
也就是不管获取的长度是否大于0,都将player进行start
更多相关文章
- Android 代码设置Color的几种方式
- android studio 格式化代码时注解不换行
- android 使用Intent传递对象 Serializable 或者 Parcelabel 《第
- material design 的android开源代码整理
- Android Studio代码混淆,开启Proguard,稍微总结一下
- 实现简单的Android的播放视频功能