1.MediaController样式单一,并且一直悬浮在phoneWindow上面,如果嵌套在scrollview中,不会随着滚动而滚动。
2.activity执行stop会销毁VideoView
因为 VideoView 继承了 SurfaceView , 在 Activity 的 onStop() 生命周期中会调用 surfaceDestroyed(), 此时会释放 MediaPlayer, 所以当切换后台或打开新页面回来,视频就会重头播放,暂时还没想到解决办法.
3.videoView.seekto抖动
其实 seekTo 跳转的位置其实并不是参数所带的 position,而是离 position 最近的视频关键帧。
所以当视频在跳转到相应的 position 位置缺少关键帧的情况下,调用 seekTo 方法是无法在当前位置开始播放。这时会寻找离指定 position 最近的关键帧位置开始播放。
能缓解抖动的方法一,mp.setOnSeekCompleteListener
例如:
videoView.setOnPreparedListener(mp -> {
if (!mVideoView.isPlaying()) {
mVideoView.start();
}
mp.setOnSeekCompleteListener(mp1 -> {
if (!mVideoView.isPlaying()) {
mVideoView.start();
countDownTimer.start();
}
});
});
来源:https://blog.csdn.net/w517272812/article/details/98766165