Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

列表下拉刷新 视频问题 #9

Open
anypwx opened this issue Oct 11, 2023 · 18 comments
Open

列表下拉刷新 视频问题 #9

anypwx opened this issue Oct 11, 2023 · 18 comments

Comments

@anypwx
Copy link

anypwx commented Oct 11, 2023

image

下拉刷新后 视频播放不出来
版本 1.1.23
组件 EvaAnimViewV3
平台 Android

@cangwang
Copy link
Collaborator

请确认是否将资源完全释放

@anypwx
Copy link
Author

anypwx commented Oct 11, 2023

如何释放资源, EvaAnimViewV3里的release 方法是私有的

@cangwang
Copy link
Collaborator

if (animView.isRunning()) {
animView.stopPlay()
}

@cangwang
Copy link
Collaborator

请查看滚动列表的demo编写

@anypwx
Copy link
Author

anypwx commented Oct 11, 2023

请查看滚动列表的demo编写

我看了 而且照着逻辑写了,发现还是问题,demo里面只涉及列表, 没有看到下拉刷新这种场景

@cangwang
Copy link
Collaborator

先调用stopPlay结束视频试试

@anypwx
Copy link
Author

anypwx commented Oct 11, 2023

先调用stopPlay结束视频试试
我录个视频给你看,稍等

@anypwx
Copy link
Author

anypwx commented Oct 11, 2023

Screen_recording_20231011_142147.mp4

@anypwx
Copy link
Author

anypwx commented Oct 11, 2023

Screen_recording_20231011_142147.mp4

@cangwang

@cangwang
Copy link
Collaborator

能提供一个demo,我看看调一下?

@anypwx
Copy link
Author

anypwx commented Oct 11, 2023

那要晚点,目前没有现成的demo,视频都是项目来的,不好拆分出来。或者你在你们提供的那个list demo 里加一个下拉刷新事件试试看。 @cangwang

@anypwx
Copy link
Author

anypwx commented Oct 11, 2023

感觉和这个问题有关系 yylive/YYEVA#19
同一个 EvaAnimViewV3 不能播放多次视频。下拉刷新有点类似这种情况, 第一次播放成功是列表刚渲染的时候,再次下拉刷新,因为view是重用的,所以同一个EvaAnimViewV3 再次播放视频,就有问题了,看错误提示是多次初始化。难道是把初始化的逻辑放在了播放逻辑里,每次播放都会初始化? 是这样的吗
@cangwang

@cangwang
Copy link
Collaborator

你可以试试每次都初始化一个,当然这样可以百分百解决问题,现在问题是复用情况出现问题

@anypwx
Copy link
Author

anypwx commented Oct 11, 2023

你可以试试每次都初始化一个,当然这样可以百分百解决问题,现在问题是复用情况出现问题

每次都初始化。这和viewholder 理念相背离了,其次性能方面也不好。你们团队能尽快解决这个问题吗

@anypwx
Copy link
Author

anypwx commented Oct 11, 2023

你可以试试每次都初始化一个,当然这样可以百分百解决问题,现在问题是复用情况出现问题

我现在是这样做的

binding.ivBg.removeAllViews()
        val eva3 = com.yy.yyeva.view.EvaAnimViewV3(context)
        eva3.layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT)
        eva3.setLoop(Int.MAX_VALUE)
        binding.ivBg.addView(eva3)
        Mp4PlayManager.playMp4ByAssets(eva3, "bg_pass_card.mp4", null)

viewholder 保持 不变,在itemview 里动态创建EvaAnimViewV3,暂时可以解决此问题 @cangwang

@cangwang
Copy link
Collaborator

滚动的demo也是复用的,问题应该只是下拉刷新问题,暂时业务有点忙,排期修复

@anypwx
Copy link
Author

anypwx commented Oct 11, 2023

滚动的demo也是复用的,问题应该只是下拉刷新问题,暂时业务有点忙,排期修复

ok 期待ing 修复好麻烦@我

@anypwx
Copy link
Author

anypwx commented Oct 11, 2023

滚动的demo也是复用的,问题应该只是下拉刷新问题,暂时业务有点忙,排期修复

image 这个回调会影响播放吗?假如我没有传callback这个

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants