2012-10-26 50 views
2

我正在使用官方libspotify.so在android中進行Spotify流式傳輸。 現在我可以連接到Spotify的AP,但是狀態依然沒有登錄。連接到spotify AP,但GetConnectionState(),用戶尚未登錄

初始化()成功,callback_notify_main_thread被稱爲

10-26 14:00:05.925: PID:1419, TID:1419 D/MBS: --- Session:Initialise 
10-26 14:00:05.935: PID:1419, TID:1419 D/MBS: --- Session:callback_notify_main_thread 
10-26 14:00:05.935: PID:1419, TID:1419 D/MBS: --- Session:Initialise:end:0 

登錄()被稱爲「成功」,callback_log_message顯示它不能登錄下線,記錄狀態是假

10-26 14:00:05.935: PID:1419, TID:1419 D/MBS: --- Session:login 
10-26 14:00:05.935: PID:1419, TID:1419 D/MBS: --- Session:OnLogMessage, data: 11:00:05.943 I [offline_authorizer.cpp:297] Unable to login offline: no such user 
10-26 14:00:05.945: PID:1419, TID:1419 D/MBS: --- Session:login:end:0 
10-26 14:00:05.945: PID:1419, TID:1419 D/MBS: --- Session:IsLoggedIn:false 

更多callback_log_messages在不同的線程來

10-26 14:00:05.945: PID:1419, **TID:1427** D/MBS: --- Session:OnLogMessage, data: 11:00:05.951 I [ap:1752] Connecting to AP ap.spotify.com:4070 
10-26 14:00:05.965: PID:1419, **TID:1427** D/MBS: --- Session:OnLogMessage, data: 11:00:05.969 I [network.cpp:438] Connecting to 78.31.8.42:4070 
10-26 14:00:06.015: PID:1419, **TID:1427** D/MBS: --- Session:OnLogMessage, data: 11:00:06.014 I [ap:1226] Connected to AP: 78.31.8.42:4070 

coonected Spotify的AP關聯後,登錄狀態仍然是假的,沒有callback_logged_in被稱爲

10-26 14:33:38.095: PID:1419, TID:1419 D/MBS: --- Session:IsLoggedIn:false 

任何想法,謝謝。

回答

3

需要在notify_main_thread之後的主線程中調用sp_session_process_events()。 from https://developer.spotify.com/technologies/libspotify/faq/

什麼是notify_main_thread回調?爲什麼需要? 當主線程需要喚醒以處理事件並將回調傳遞給應用程序時,將從任何線程調用此回調。

然後登錄回調將被調用。並檢查GetConnectionState(),它是4. SP_CONNECTION_STATE_OFFLINE = 4 /// <以離線模式登錄

+0

需要在主線程中響應sp_session_process_events()。 有時從主線程調用callback_notify_main_thread,如果從其他線程調用callback_notify_main_thread,則需要先喚醒主線程,以設計代碼以調用sp_session_process_events()?在Spotify的自動點唱機中,它使用無限循環等待主線程回調,它將一直存在。 但是如果主線程還在做android java代碼,就像在監聽事件,改變UI,怎麼設計它是一個好方法?用一個獨立的線程在那裏等待一個無限循環? – NOUX

相關問題