libSpotify在Android中崩溃
问题描述:
我正在做一个需要Android中的Spotify的应用程序。但是,当我运行libSpotify“sp_session_create”我得到一个SIGSEGV。我使用的libSpotify的版本是v12.1.51 BETA - Android的ARMlibSpotify在Android中崩溃
sp_error initialise(const char * asKey,
const char * asFolder,
const char * asUserAgent,
bool isPlaylistCompressed,
bool isMetadataOnPlaylist,
bool isPlaylistInitialUnload)
{
sp_session_callbacks asCallbacks;
memset(&asCallbacks, 0, sizeof(asCallbacks));
asCallbacks.logged_in = Callback::onSessionLogin;
asCallbacks.log_message = Callback::onSessionLog;
sp_session_config asConfiguration;
memset(&asConfiguration, 0, sizeof(asConfiguration));
std::string asDirectory = asFolder;
auto asDirectoryCache = asDirectory + "/cache";
auto asDirectorySetting = asDirectory + "/setting";
const auto asApplicationKey = "Key goes here...";
asConfiguration.api_version = SPOTIFY_API_VERSION;
asConfiguration.application_key = asApplicationKey;
asConfiguration.application_key_size = sizeof(asApplicationKey);
asConfiguration.cache_location = asDirectoryCache.c_str();
asConfiguration.settings_location = asDirectorySetting.c_str();
asConfiguration.user_agent = asUserAgent;
asConfiguration.compress_playlists = isPlaylistCompressed;
asConfiguration.dont_save_metadata_for_playlists = isMetadataOnPlaylist;
asConfiguration.initially_unload_playlists = isPlaylistInitialUnload;
asConfiguration.userdata = this;
asConfiguration.callbacks = &asCallbacks;
sp_error asError = sp_session_create(&asConfiguration, &_asSession);
__android_log_print(ANDROID_LOG_VERBOSE, LIBRARY_NAME, "PASSED");
return asError;
}
答
崩溃是由于缓存文件夹。
您好!感谢一段时间后的反应,我能够修复它,现在不再崩溃:D,但是对于Android来说,libSpotify是一个痛处(现在我已经切换到WebAPI的元数据和libSpotify对于脱机模式的东西) –
@AgustinAlvarez新的SDK出来了,请参阅我编辑的评论。 –
是否支持新的SDK离线播放? (为什么我使用libSpotify的主要原因 –