mengzhidaren / Vlc-sdk-lib

vlc-android The latest compilation video playback libraries 最新视频库支持录屏 欢迎star
491 stars 121 forks source link

大神,有几个问题烦请解答一下,多谢 #69

Closed gymiicmc closed 6 years ago

gymiicmc commented 6 years ago

使用2.5.12版本的库,遇到如下几个问题: 1.部分手机版本在播放视频过程中切到后台再回来后,会黑屏,只有声音没有画面,查原因是因为onSurfaceTextureDestroyed被触发导致detachViews。但某些手机版本不会触发这个onSurfaceTextureDestroyed函数,原因不明。解决办法是通过在onResume回来时调用了setSurface来进行重新attachViews来解决黑屏问题。 ps:早前用过你之前的库,忘记是哪个版本,貌似是17年8月份的版本,当时那个版本在播放不完整的视频(如duration为2小时的视频,可能只下载了1小时的大小)时拖拽播放,当拖拽超过1小时,就会导致线程假死进而导致后续所有的媒体播放都无法正常进行,必须kill掉app才可以恢复。 后面我更新到2.5.12版本的库,上面的问题很好解决,但是切后台再切回来的在部分手机版本上出现的黑屏问题仍然没解决,当然,同样的我也是用重新attachView来解决黑屏问题。 2.如果播放结束,我自己让播放器可以点击播放按钮进行重播(记得你的demo是自动重播),但如果播放结束我切后台,再切回来点击播放按钮,此时,我的attachViews也无法解决黑屏问题。这个黑屏问题困扰的我很久。

最后,再次感谢大神的无私分享。 如果你看到留言,烦请回复一下我吧,多谢! 或者邮箱联系gymiicmc@126.com

mengzhidaren commented 6 years ago

sdk19以上的TextureView在onDetachedFromWindow时会回收surface 有些厂商改过rom的也会回收surface,切回前台onAttachedToWindow会重新创建的 VlcPlayer是两年前的代码只是供参考用的 中间的修改没提交到github上 等我这两天改成能用的提交一下

gymiicmc commented 6 years ago

龙哥,check了你的新代码,发现你已经修复了黑屏问题了,谢谢你!暂时使用没有发现有其它问题,但我有个疑问,就是你的AWindow这个类里边,里边的surfacehelper是数组,没记错的话你修改前的代码在释放的时候,好像不会释放干净,可能导致退出视频播放时,再进行新的一轮播放,不断反复,会导致surfacehelper数不断增加,网络资源占用也会不断增加,也许你是要满足多通道播放?我这边只需要单通道,所以我把数组改为单一元素,但对于你这一块的代码逻辑不太清楚,所以想问你的是,我这边单通道播放,使用你现在2.5.15的代码,退出播放应该是会正确释放响应资源的吧?(从暂时使用情况来看,可以的话,希望能加你微信)

何国贤 13066875766

在 2018年1月8日,10:57,yuyunlong notifications@github.com 写道:

Closed #69.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

mengzhidaren commented 6 years ago

那是我历史遗留的代码, 早期的vlc释放surface时在底层 时不时的 会卡死进程,早期我就没释放(也没太大影响),现在版本可以正常释放了,我工作只用 QQ 273518021