-
Notifications
You must be signed in to change notification settings - Fork 167
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
接口偏好设置Web和App是否可以相互兼容 #152
Comments
请先尝试使用最新版本,如果问题依然存在再提交 issue |
最新版本无显显示画面,只有声音。 |
我也曾想过整一个混合起来用的选项供用户选择,但部分接口App端和Web端返回的结果内容差异过大就没做 |
alpha版? |
是的alpha。最近版本就是这样,播放时不显示视频画面,好象有人已提Bug了。 |
象你说的,接口差别很大,融合成一个难度大,就保持两个接口。但是不是可以在失败的时候,尝试一下另一个接口,象我上面遇到的情况,换一个接口就正常了。所以你还是可以保留两套接口,程序做一个兼容逻辑,调用A接口失败了,就试一下B接口。反之亦然。 |
【我的方案】针对流浪地球2播放报错误的问题,我临时方案如下: val playUrlData = if (enableProxy) {
BiliHttpProxyApi.getPgcVideoPlayUrl(...)
} else {
// 出错的地方,这个接口返回的流浪地球2的信息,反序列化JSON会报上面的错误
BiliHttpApi.getPgcVideoPlayUrl(...)
}.getResponseData() 我加上了一个 val playUrlData = try {
if (enableProxy) {
BiliHttpProxyApi.getPgcVideoPlayUrl(...)
} else {
BiliHttpApi.getPgcVideoPlayUrl(...)
}.getResponseData()
} cache(_ : Exception) {
if (enableProxy) {
BiliHttpProxyApi.getPgcVideoPlayUrl(...)
} else {
// 这里改为调用视频接口,就不报错了。
BiliHttpApi.getVideoPlayUrl(...)
}.getResponseData()
} 我这样改比较武断,给你提个思路,希望你有更完美的方案。 |
我记得好像我最开始写的时候测试出普通视频接口不能获取 pgc 视频,刚刚随便试了一下海绵宝宝中文版第一集(随便点的视频)就无法使用普通接口获取。 我试过直接在 VideoPlayRepository 处改,web 接口错误就调用 app 接口,但后来发现因为不同接口获取到的播放地址需要不同的 useragent 来播放,那这就改的多了。而且这种情况如果一个接口失效了我也没办法第一时间发现,挺头疼的。 现在我就想的是可以在播放页面失败了显示一个使用另一接口重试的按钮,但这样也许就只对播放器有效差点意思。。。。 |
其实还在 |
原本把所有接口都改成了失败后自动尝试另一接口,但突然意识到那很多接口的app/web不能混用,因为请求参数可能完全不同,难搞🫠 |
Bug 描述
是否不要设置Web或App,程序内部兼容。如果Web不能播放,能不能自动试试App。这两个并不是完全互斥的。举一个实例说话:当观看《流浪地球2》时,如果偏好设置为Web,不能正确加载URL。但当选择为App时或以正常加载并播放。但是,如果选择了App,有一些原来或能播放的视频,又不能正常播放了。还得改回Web。
复现问题的步骤
预期行为
期望结果:两种方式如下
截图
No response
请确认已更新到以下所示的最新版本
我正在使用旧版本
当前版本号
0.2.8.r664.xxx
Android 版本
Android 11
设备厂商及型号
No response
遇到问题的视频 avid 或 bvid
No response
相关日志
No response
附加信息
No response
The text was updated successfully, but these errors were encountered: