KSYLive_Android icon indicating copy to clipboard operation
KSYLive_Android copied to clipboard

硬解情况下调用reload方法,导致画面播放比例失调。

Open RadiateWSG opened this issue 8 years ago • 12 comments

v2.2.0版本,硬解情况下调用reload方法,导致画面宽高失调。

在本项目demo中测试,TextureVideoActivity 硬解情况下播放手机本地视频时,在 onCompletion 中调用reload()方法,导致重新播放画面比例失调问题。

RadiateWSG avatar Jan 04 '17 08:01 RadiateWSG

是任意视频均会出现这种情况吗

FirmianaRain avatar Jan 04 '17 10:01 FirmianaRain

是的,竖向的视频 reload 后转成横向了。

RadiateWSG avatar Jan 05 '17 05:01 RadiateWSG

你们有调用旋转的接口吗?

FirmianaRain avatar Jan 05 '17 06:01 FirmianaRain

没有,只是把 Demo中 onCompletion 回调中的 videoPlayEnd() 方法注释掉,改为调用 reload 方法就能重现。

RadiateWSG avatar Jan 06 '17 03:01 RadiateWSG

我们这边根据你说的方法做了测试,没有复现你说的问题

FirmianaRain avatar Jan 06 '17 07:01 FirmianaRain

播放格式:KSYTexture ;解码格式:硬解

RadiateWSG avatar Jan 06 '17 07:01 RadiateWSG

配置是一样的 请问你是reload同样的视频吗?

FirmianaRain avatar Jan 06 '17 08:01 FirmianaRain

是的,reload 当前播放的视频必现,reload 其它视频有时候会出现。

RadiateWSG avatar Jan 06 '17 08:01 RadiateWSG

经过测试,并没有复现你说的问题。 建议贴出代码,看究竟是什么问题

FirmianaRain avatar Jan 06 '17 09:01 FirmianaRain

TextureVideoActivity 类中,只是改为播放完毕后 reload 当前视频。

private IMediaPlayer.OnCompletionListener mOnCompletionListener = new IMediaPlayer.OnCompletionListener() { @Override public void onCompletion(IMediaPlayer mp) { Toast.makeText(mContext, "OnCompletionListener, play complete.", Toast.LENGTH_LONG).show(); // videoPlayEnd(); mVideoView.reload(mDataSource, true); } };

bug 条件: 1、播放格式:KSYTexture 2、解码格式:硬解 3、播放本地 竖向 视频 Demo 中 scale mode为VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING,reload 时能看到视频变形;如果onPrepared、onVideoSizeChanged 回调中都改为 VIDEO_SCALING_MODE_SCALE_TO_FIT 就能明显看到视频宽、高改变。

RadiateWSG avatar Jan 06 '17 10:01 RadiateWSG

多次测试,两种scale mode都测试过,未能复现你说的问题 能确认下在reload成功之后没有调用scale或者旋转的接口吗

FirmianaRain avatar Jan 06 '17 10:01 FirmianaRain

@RadiateWSG 你是说在切换工程中有变形? 在新的视频播放后应该就不会有了吧?

wshichang avatar Jan 10 '17 06:01 wshichang