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

歌曲版权问题无法播放的简单解决方案 #791

Open
oldoldstone opened this issue Feb 26, 2019 · 6 comments
Open

歌曲版权问题无法播放的简单解决方案 #791

oldoldstone opened this issue Feb 26, 2019 · 6 comments

Comments

@oldoldstone
Copy link
Contributor

oldoldstone commented Feb 26, 2019

  • 系统:archlinux x86_64 kernel 4.19.25-1-lts

  • 问题

今天想缓存一首歌,却提示版权问题一直跳到几十首歌以后,但我看缓存里却下载了很多歌曲包括我想下载的那首,再倒回去就可以播放了。

  • 结论:

部分歌曲可以缓存,却无法播放。

  • 原因:
    我简单看了一下cache和player的源码,发现缓存使用了地址转换,在线播放却没有。简单改了一下player.py的代码就可以正常播放了

  • 解决方案:
    player.py 第321行开始加上作如下修改,注意对齐

        else:
            new_url = NetEase().songs_url([args["song_id"]])[0]["url"]  #使用新地址
            if  not new_url:    #如果没有获得新地址
                new_url = args["mp3_url"]  #使用老地址传给mpg123
            thread = threading.Thread(
                target=self.run_mpg123,
                args=(on_exit, new_url, args["expires"], args["get_time"]),
            )
        ....

如果修改错误,多半是空格的问题,改了一句话,就不Fork了,直接附上文件

  1. player.py,替换原来的 ,一般在python安装目录site-packages下面,如archlinux在,/lib/python3.7/site-packages/NEMbox/
    player.py.tar.gz
  2. archlinux 打包版,后缀名改为tar.xz , pacman -U安装
    netease-musicbox-git-r588.8780d8f-1-any.pkg.tar.gz
@oldoldstone oldoldstone changed the title 一些歌却版权问题是因为使用的旧地址old 一些歌曲版权问题是因为使用的旧地址,附简单解决方案 Feb 26, 2019
@crimx
Copy link

crimx commented Feb 26, 2019

依然不行,还是爆屏。 播一下其它列表再换回来可以了。

@oldoldstone
Copy link
Contributor Author

oldoldstone commented Feb 26, 2019

我也发现了,已经更新
修改遇到真正版权限制的歌曲会出错,所以需要加个判断,我还是简单粗暴的改了一下,如果版权限制,获取的newurl为None,此时直接播放下一首
原来的版权限制是获取mpg123的状态判断的,这样这些语句就废了,不过好像现在还能用

依然不行,还是爆屏。 播一下其它列表再换回来可以了。

@hehh2001
Copy link

 OS: Arch Linux 

Kernel: x86_64 Linux 4.19.28-1-lts

按照上述更改后无效,程序都跑不起来,有哪位大神给分享一份改过的player.py

@oldoldstone oldoldstone changed the title 一些歌曲版权问题是因为使用的旧地址,附简单解决方案 歌曲版权问题无法播放的简单解决方案 Mar 16, 2019
@oldoldstone
Copy link
Contributor Author

 OS: Arch Linux 

Kernel: x86_64 Linux 4.19.28-1-lts

按照上述更改后无效,程序都跑不起来,有哪位大神给分享一份改过的player.py

好吧,已经附上

@BeautyyuYanli
Copy link

不如交个pr吧。

@hehh2001
Copy link

@oldoldstone 感谢,已处理好了,多谢!!!

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

No branches or pull requests

5 participants