darknessomi / musicbox

网易云音乐命令行版本
MIT License
9.83k stars 1.58k forks source link

播放-暂停的逻辑好像有bug #347

Open grantonzhuang opened 8 years ago

grantonzhuang commented 8 years ago

exp: 一首歌4分钟 播放这首歌 在2分钟处暂停 过了1分钟继续播放 过了1分钟后, 就会播放下一曲

也就是会把中间的{暂停时间长度}也当成了{已播放时间长度}, 这个时间的计算逻辑好像有问题.

播放的行为正常.

ubuntu 1404 python2.7

kigawas commented 8 years ago

你先试试mpg123,看看会出现同样的问题么

qhsong commented 8 years ago

mpg123不会出现这个问题,我正在看是哪里的问题。我也遇到了

qhsong commented 8 years ago

这个是mpg123的bug,只要播放暂停时间超过一定时间,然后就会自动停止输出@P 0。 最新版本的mpg123已经修复了这个问题,目前测试了一下还没发现问题。等明天再试试。

redapple0204 commented 8 years ago

@grantonzhuang 我的已经最新版本了(1.22)还是有这个问题

kigawas commented 8 years ago

@redapple0204 mpg123-1.23.6 没有这个问题

redapple0204 commented 8 years ago

@kigawas 换到了1.25仍然有问题.....

kigawas commented 8 years ago

已经重现了这个问题,正在修复

kigawas commented 8 years ago

@redapple0204 已经确定是mpg123的问题,和@qhsong说的一样

qhsong commented 8 years ago

恩,最新版本也不行?

2016-09-12 17:18 GMT+08:00 Ryan Lee notifications@github.com:

@redapple0204 https://github.com/redapple0204 已经确定是mpg123的问题

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/darknessomi/musicbox/issues/347#issuecomment-246292663, or mute the thread https://github.com/notifications/unsubscribe-auth/AGXCi0ttvefyvbHURS_syE-KHq7SLdH9ks5qpRjdgaJpZM4JCy2r .

祝好,宋其翰 我的博客:http://sqh.me/

kigawas commented 8 years ago

只要暂停超过5分钟就会P0了

qhsong commented 8 years ago

哦,我试试我这里。

2016-09-12 21:30 GMT+08:00 Ryan Lee notifications@github.com:

只要暂停超过5分钟就会P0了

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/darknessomi/musicbox/issues/347#issuecomment-246347451, or mute the thread https://github.com/notifications/unsubscribe-auth/AGXCi3o6jeHGv4vYBD_HHl8nXw8VZXNxks5qpVQDgaJpZM4JCy2r .

祝好,宋其翰 我的博客:http://sqh.me/

redapple0204 commented 8 years ago

@kigawas 不行啊.....最新版本仍然有问题。

qhsong commented 8 years ago

再测试了一下,貌似mpg123打开本地文件不会出现这么bug。。怀疑是mpg123内部没有处理好http下载和播放的逻辑。。。。我们可以把脚本改为先下载再播放么,虽然会有点卡。。。

redapple0204 commented 8 years ago

@qhsong 这样会很卡,而且下载缓存会很多

qhsong commented 8 years ago

@redapple0204 mpg123这个bug不知道什么时候能修好。。

qhsong commented 8 years ago

Report a bug in here: https://sourceforge.net/p/mpg123/bugs/237/

qhsong commented 8 years ago

和作者交流了一下,感觉这个bug不太可能修复了。。。 mpg123本身实现http下载的办法就是直接用tcp的read函数,毫无缓冲区可言,增加这个功能对作者来说利远小于弊。

maybe现在就这么用着吧,用python控制mpg123还是有问题。我现在在fedora24下已经无法正常播放音乐了。。

kigawas commented 8 years ago

😂😂😂有别的比较好的命令行播放器么😂😂😂

On Mon, Sep 19, 2016, 10:50 qhsong notifications@github.com wrote:

和作者交流了一下,感觉这个bug不太可能修复了。。。 mpg123本身实现http下载的办法就是直接用tcp的read函数,毫无缓冲区可言,增加这个功能对作者来说利远小于弊。

maybe现在就这么用着吧,用python控制mpg123还是有问题。我现在在fedora24下已经无法正常播放音乐了。。

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/darknessomi/musicbox/issues/347#issuecomment-247903270, or mute the thread https://github.com/notifications/unsubscribe-auth/AD_RSmG0vjZS5jat7yEwGPUhTRvlPuVQks5qrfiGgaJpZM4JCy2r .

qhsong commented 8 years ago

最近调查了一下,这个播放器特性是: 可以支持网络地址播放,可以实时输出信息。我暂时没有找到太好的。

qhsong commented 8 years ago

还要跨平台。。。

taizilongxu commented 8 years ago

@qhsong mplayer呢

Catofes commented 7 years ago

我记得如果把cache开了的话,歌曲的第二次播放就会是调用本地的。

qhsong commented 7 years ago

@Catofes 我试试,如果这样的话貌似是一个解决的办法。。。

Catofes commented 7 years ago

本来Cache功能的目的就是这个。

Catofes commented 7 years ago

我又写了一个缓存脚本,从url下载数据并缓存, 提供一个pipe供mpg123读取。

88b381699c73bf094b8bc23060a549d90ff9bc49

使用 python buffer.py -u song_url 后 mpg123 /tmp/music_box.pipe 就可以播放。

不过我没想好怎么整合进去,本来是想作为主程序的一个线程,然后因为线程不好kill,而且pipe的阻塞挺奇葩的,所以就拎出了单独的一个程序。 @darknessomi @kigawas 你们看看怎么处理? 要不把它也安装到系统,然后在musicbox中用Popen 调用?

darknessomi commented 7 years ago

不如作为一个功能,开启后替换掉现有的播放逻辑?

Catofes commented 7 years ago

我的想法是直接替换掉现在的 无 cache下的播放逻辑

redapple0204 commented 7 years ago

@darknessomi 说实话我不建议...暂停对我影响不大,但是这样子会导致我播放音乐更卡,因为我的网速实在是....