我正在使用libspotify,我花了很多时间在google和有关回调方法的文档中搜索:
music_delivery(sp_session *session, const sp_audioformat *format, const void *frames, int num_frames)
。
我正在尝试打印每个帧的内容,但打印的值并不是真正正确的(只有纳米或大的负值)。
似乎我不明白它是如何运作的......
有人能帮助我吗?
非常感谢!
塞巴斯蒂安。
答案 0 :(得分:1)
格式告诉您音频的格式:sp_audioformat
我认为目前唯一的格式是16位带符号的pcm样本。可能有一个或两个频道。因此,如果有两个通道,则每个帧由两个连续的16位有符号整数组成。帧指针指向这些帧的连续数组的开始,其中许多元素等于num_frames。我不知道你是如何获得NaN的 - 只有浮点类型可以是NaN,你不应该在这里涉及浮点类型。
您可以在jukebox.c中看到实现music_delivery回调的示例。