プレイリストからSpotifyトラックを正常にロードし(トラック名を画面にトレースして確認)、とを使用して再生するために渡しましsp_session_player_loadたsp_session_player_play(sess, 1)。
ただし、music_deliveryコールバックが呼び出されることはありません(いつ呼び出されるかを示すトレースがあります)。libspotify FAQは、API内の内部スレッドによって呼び出されることを示唆しているようでありsp_session_process_events、ストリーミングを開始するために呼び出す必要はありません。
私のアプリケーションはシングルスレッドなので、コードにロックの問題はないと思います。
出典:
libspotify Haskellバインディング: https ://github.com/mrehayden1/libspotify (これをコンパイルするにはlibspotifyをインストールする必要があります: https ://developer.spotify.com/technologies/libspotify/#download )
アプリケーションコード: https ://github.com/mrehayden1/harmony