1

http://damienradtke.org/playing-with-the-spotify-api/からのガイダンスに従って、Android でシンプルなプレーヤーを作成しようとしています。それを使用して、ubuntu で Spotify からトラックを再生できますが、できません。アンドロイドでさえビルドします。これまでのところ、Spotify からトラックをクエリすることはできますが、ALSA を使用して再生機能を追加しようとすると悪夢でした。openAl を使用してみましたが、まだ行き詰っています。jniでストリーミングオーディオを再生するもっと簡単な方法はありますか?

&on_search_complete コールバックの最後に、次のような関数「play」を呼び出します。

void play(sp_session *session, sp_track *track)
{
if(DEBUG_MODE) __android_log_print(ANDROID_LOG_INFO, "spotify", "attempting to play track...");
sp_error error = sp_session_player_load(session, track);
    if (error != SP_ERROR_OK) {
    if(DEBUG_MODE) __android_log_print(ANDROID_LOG_INFO, "spotify", "Error: %s\n",    sp_error_message(error));
    exit(1);
}

if(DEBUG_MODE) __android_log_print(ANDROID_LOG_INFO, "spotify", "Playing...");
sp_session_player_play(session, 1);
}

これにより、&on_music_delivery コールバックが実行されます。ここに再生コードを追加する必要があると思います。

static int on_music_delivery(sp_session *session, const sp_audioformat *format, const void *frames, int num_frames)
{
if(DEBUG_MODE) __android_log_print(ANDROID_LOG_INFO, "spotify", "in on_music_delivery");
}

ALSA を使用してコードを構築することにほとんど成功していません。誰かがここで正しい方向に向けることができます。イライラするし、最後のハードルで諦めたくない。注: 私は C 言語の初心者です。

4

1 に答える 1