我使用Psyonspotify代码作为将 libspotify 集成到我的应用程序的框架。我删除了很多代码,因为我的应用程序只需要查询曲目和创建播放列表,但我保留了初始化和运行循环代码。
我正在使用 libspotify 12.1.51。我正在运行 Android 4.2.2 的 HTC One 上进行测试。
该库运行良好,我可以登录、查询播放列表、查询曲目、创建播放列表并将曲目添加到播放列表中,这正是我想要的。问题是应用程序会随机使用 SIGSEGV 退出。我无法确定它发生的确切位置,但它肯定会(偶尔)在调用sp_session_process_events时发生。正如在另一篇文章中所建议的那样,我通过检查连接状态 ( sp_session_connectionstate ) 来保护某些呼叫。
在试图找到解决方案时,我在 GitHub 上遇到了 cocoalibspotify 的issue-78,最后一条评论(截至今天)如下:
我在 vanilla libspotify-12.1.51 Mac 应用程序中遇到了非常类似的崩溃。当 wifi 掉线时,在 session_process_events 之后的 sp_error_message 中崩溃。
我知道我办公室里的 wi-fi 连接非常糟糕,而且 3G 信号也很弱,Spotify 的任何人都可以评论这是否是我遇到困难的原因吗?如果是,有什么方法可以防止它,还是我只需要等待库的新版本?