2014-02-22 39 views
1

我正在做一个需要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; 
} 

回答

0

崩溃是由于缓存文件夹。

0

编辑Spotify's new Android SDK发布!您应该强烈考虑将您的项目移至新的SDK,因为libspotify现已弃用于该平台。

+0

您好!感谢一段时间后的反应,我能够修复它,现在不再崩溃:D,但是对于Android来说,libSpotify是一个痛处(现在我已经切换到WebAPI的元数据和libSpotify对于脱机模式的东西) –

+0

@AgustinAlvarez新的SDK出来了,请参阅我编辑的评论。 –

+0

是否支持新的SDK离线播放? (为什么我使用libSpotify的主要原因 –