Libspotify在music_delivery方法中打印每个帧的内容

时间:2013-07-11 16:35:46

标签: spotify libspotify

我正在使用libspotify,我花了很多时间在google和有关回调方法的文档中搜索:

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

我正在尝试打印每个帧的内容,但打印的值并不是真正正确的(只有纳米或大的负值)。

似乎我不明白它是如何运作的......

有人能帮助我吗?

非常感谢!

塞巴斯蒂安。

1 个答案:

答案 0 :(得分:1)

格式告诉您音频的格式:sp_audioformat

我认为目前唯一的格式是16位带符号的pcm样本。可能有一个或两个频道。因此,如果有两个通道,则每个帧由两个连续的16位有符号整数组成。帧指针指向这些帧的连续数组的开始,其中许多元素等于num_frames。我不知道你是如何获得NaN的 - 只有浮点类型可以是NaN,你不应该在这里涉及浮点类型。

您可以在jukebox.c中看到实现music_delivery回调的示例。