yi-ji / NeteaseMusicAbroad

Unblock regional restrictions for NeteaseCloudMusic on macOS/Linux. 网易云音乐macOS/Linux解除歌曲锁区限制。
The Unlicense
398 stars 40 forks source link

运行后音乐仍为灰色😢 #16

Closed mikumeow closed 5 years ago

mikumeow commented 5 years ago

我在mac mojave(v10.14)上使用网易云v1.5.9和本project,网易云登陆状态下有部分未缓存歌曲可播放,未登录时除了已缓存歌曲全部灰色,点击提示“依合作方要求,所在地区无法播放”。重装网易云无效。试用的是11月2日下载的NeteaseMusicAbroad。Python版本3.7,pip版本18.1,依赖库正常安装(应该)。坐标日本。

运行Abroad后,在app preference中看到你的auto proxy地址正确添加。除了网易云更新网络接口的可能性外,我怀疑是网易云内部对原先的mac网络环境有缓存机制。但我删除~/Library/Caches/内容无效(即使重装app,音乐播放状态仍在,说明在其他路径也有配置文件)。想向你请教一下网易云的配置文件路径,看看能否测试关联性。

另外,不排除学校网络过滤造成的影响,周末在公共网络环境再试试看。 精神上支持你的项目~

yi-ji commented 5 years ago

首先我这边测试未登录状态下的歌单也都是可以播放的,应该和登陆状态无关。是不是没有成功运行?尝试一下python NeteaseMusicProxy.py看看输出,如果没问题:

[17:20:06:yiji ~] find ~/ -name *netease*
/Users/yiji/Library/Saved Application State/com.netease.163music.savedState
/Users/yiji/Library/Preferences/com.netease.163music.plist
/Users/yiji/Library/Containers/com.netease.163music
/Users/yiji/Library/Cookies/com.netease.163music.binarycookies
/Users/yiji/Library/Caches/com.netease.163music
/Users/yiji/Library/Caches/com.plausiblelabs.crashreporter.data/com.netease.163music

可以尝试删掉上面的Containers, Cookies和Saved Application State? (如果可以的话烦请一个一个地删,定位问题所在,以便后人。。) “登陆状态下有部分未缓存歌曲可播放”: 不能播放的未缓存歌曲是什么提示信息? 感谢支持🙏

mikumeow commented 5 years ago

你好!直接python NeteaseMusicProxy.py后报错找不到import库,我犯了python和pip版本的问题。 接着我使用python3 -m pip安装各个库,并将run_darwin.sh中的python指令改为python3后,运行NeteaseMusicHelper或run_Darwin.sh后似乎依然没有起到unblock的效果,控制台没看到任何输出报错信息。

之后我尝试删除Preferences,containers和caches下的缓存(我的saved application state目录下似乎没有netease相关内容),以及连接手机4G共享网络两个方法,依然没有成功。只能再次求教你了?

你问的【“登陆状态下有部分未缓存歌曲可播放”: 不能播放的未缓存歌曲是什么提示信息】 是这样的:我使用的是新浪微博登陆方式的免费网易云账号(以前曾购买过会员)。 · 在未使用任何proxy的情况下:

yi-ji commented 5 years ago

请直接运行python3 NeteaseMusicProxy.py然后贴一下输出。运行之前先退出网易云音乐并等待1分钟。

一般初次使用时,反复切换歌单刷新个七八次就没有灰色了。

—- 另外,非会员的情况还没测试过,我一会儿测试一下看看

mikumeow commented 5 years ago

你好,感谢答复!

h50:NeteaseMusicAbroad-master schin$ python3 NeteaseMusicProxy.py 2018-11-05 15:39:17+0900 [-] Log opened. 2018-11-05 15:39:18+0900 [-] NeteaseMusicProxyFactory starting on 32794 2018-11-05 15:39:18+0900 [-] Starting factory <main.NeteaseMusicProxyFactory object at 0x111cb3dd8> ^C2018-11-05 15:42:21+0900 [-] Received SIGINT, shutting down. 2018-11-05 15:42:21+0900 [main.NeteaseMusicProxyFactory] (TCP Port 32794 Closed) 2018-11-05 15:42:21+0900 [-] Stopping factory <main.NeteaseMusicProxyFactory object at 0x111cb3dd8> 2018-11-05 15:42:21+0900 [-] Main loop terminated. h50:NeteaseMusicAbroad-master schin$ python3 NeteaseMusicProxy.py 2018-11-05 15:46:15+0900 [-] Log opened. 2018-11-05 15:46:17+0900 [-] NeteaseMusicProxyFactory starting on 32794 2018-11-05 15:46:17+0900 [-] Starting factory <main.NeteaseMusicProxyFactory object at 0x108229f60>

此时打开网易云音乐,大部分乐曲仍然显示为灰色,提示“所在地区无法播放”。举例来说,billboard榜单一百首中大约有4首曲子是黑色字体可以听的。

yi-ji commented 5 years ago

目前来看python本地代理是正常启动了的,但是没有收到任何东西。不过如你所说,打开preferences又确实设置好了代理转发。无法明确哪里有问题。 请先退出python和云音乐,用浏览器尝试打开music.163.com看看能否访问?无法访问的话说明PAC设置是正常工作的; 然后启动python,再访问一下看看有什么输出。

AudioRequestProxy.py不会被用到,不用在意它 —————— 再确认一下,打开网易云音乐之后,上面python的输出没有变多吗?

mikumeow commented 5 years ago

好吧,最后成功了!是我犯了低级错误。你说preferences设置好代理转发提醒我了。

在我的mac系统设置中,【Automatic Proxy Configuration】的描述文件路径为 file:///Users/schin/Desktop/NeteaseMusicAbroad-master/NeteaseMusic.pac 但我已经把Abroad项目移到了Documents目录下而忘了手动删除上述这个路径。因此,我修改目录为 file:///Users/schin/Documents/NeteaseMusicAbroad-master/NeteaseMusic.pac 之后,Helper终于能够正常使用啦。也许,Helper中检测描述文件路径的代码会不会有漏判呢?

总之终于能听音乐啦!非常感谢你的帮助!

mikumeow commented 5 years ago

额,可能又有个问题了。 有一些曲子显示黑色,可以播放和下载。然而,部分曲子显示黑色但播放时会停滞数秒并显示“播放失败”,尝试下载则提示获取路径出错。 和你在readme中描述的【歌单中所有歌曲都不再显示灰色,但点击部分下架歌曲(大陆也不能播放)后仍然可能提示“播放失败”。】有一点不太一样:有几首曲子我使用手机全局VPN是可以访问及下载的,所以国内应该是可以播放的。

yi-ji commented 5 years ago

这确实是个bug,我会修改一下自动检测pac文件路径,多谢帮忙改进!

“播放失败”有时候也可能是因为cn-proxy不太稳定/网络环境不太好,可能切切歌过一会儿就好了。。。