0

私はlibspotifyを使用しており、コールバックメソッドに関するGoogleとドキュメントの検索に多くの時間を費やしました:

music_delivery(sp_session *session, const sp_audioformat *format, const void *frames, int num_frames).

各フレームのコンテンツを印刷しようとしていますが、印刷された値は実際には正しくありません (nan または大きな負の値のみ)。

仕組みが理解できていないようです…

誰かが私を助けることができますか?

どうもありがとう !

セバスチャン。

4

1 に答える 1

1

形式は、オーディオがどのようにフォーマットされているかを示します: sp_audioformat

現在のフォーマットは 16 ビットの符号付き pcm サンプルだけだと思います。チャネルは 1 つまたは 2 つある場合があります。したがって、チャネルが 2 つある場合、各フレームは 2 つの連続する 16 ビット符号付き整数で構成されます。フレーム ポインタは、そのようなフレームの連続した配列の先頭を指し、要素数は num_frames に等しくなります。どのようにして NaN を取得しているのかわかりません。NaN にできるのは浮動小数点型のみであり、ここに浮動小数点型を含めるべきではありません。

jukebox.c でmusic_deliveryコールバックを実装する例を見ることができます。

于 2013-07-11T22:05:39.887 に答える