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

快速双击播放列表中的歌曲会卡死 #23

Closed
yujunjiex opened this issue May 28, 2019 · 6 comments
Closed

快速双击播放列表中的歌曲会卡死 #23

yujunjiex opened this issue May 28, 2019 · 6 comments
Labels
_Refactor the player 整个播放逻辑需要重做。
Milestone

Comments

@yujunjiex
Copy link

Beslyric版本:3.1.0.0
测试环境:QT5.6 mingw32

当我多次点击歌词单列表的歌曲时,会出现卡死现象。
客户端也存在该情况
源码debug提示no data in list for 1e8 times access

@BensonLaur
Copy link
Member

好这个后面测测看

@pzhlkj6612
Copy link
Member

有的时候打开刚播第一首歌也会这样,debug输出很多no data in list for 1e8 times access

@BensonLaur BensonLaur added the help wanted Extra attention is needed label Jul 13, 2019
@BensonLaur
Copy link
Member

连续在10多首歌的列表中,快速双击100多下切换播放,好像也复现不了

@yujunjiex
Copy link
Author

@BensonLaur
会不会是存在某个解码器的依赖,这边正常环境的两台机器存在这个问题。
如果可能的话,建议可以虚拟机测试一下。辛苦啦~

@pzhlkj6612
Copy link
Member

pzhlkj6612 commented Oct 9, 2019

@yujunjiex 如果仅关注输出很多no data in list for 1e8 times access的问题,是因为这里的代码:

https://github.com/Beslyric-for-X/Beslyric-for-X/blob/0dee64a8834f1ba294b12f99fee97acc438ee500/Entities/MusicPlayer/musicPlayer.cpp#L191-L195

尝试了一亿次,却并没跳出所在的那个while(true)循环,所以改一下:

             if (tryTimes >= 100000000LL) 
 { 
 	qDebug() << "no data in list for 1e8 times access"; 
 	AGStatus = AGS_FINISH; 
+       tryTimes = 0;
+  	return -1;
 } 

@BensonLaur BensonLaur added resolved-in-next-version The problem has been fixed or the requirement has been implemented and removed help wanted Extra attention is needed labels Jan 20, 2020
@pzhlkj6612 pzhlkj6612 added the _Refactor the player 整个播放逻辑需要重做。 label Feb 23, 2020
@pzhlkj6612 pzhlkj6612 added this to the Next Release milestone Feb 23, 2020
@pzhlkj6612 pzhlkj6612 removed the resolved-in-next-version The problem has been fixed or the requirement has been implemented label Feb 24, 2020
@pzhlkj6612
Copy link
Member

0175326 中移除了相关逻辑,现在在 Windows 平台上快速切歌出现卡死的情况基本消失,故关闭本 Issue 。
另外,要想完全杜绝此类问题,需要对播放逻辑进行重构,这个需要较长的时间来完成。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
_Refactor the player 整个播放逻辑需要重做。
Projects
None yet
Development

No branches or pull requests

3 participants