0

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

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

我正在尝试打印每一帧的内容,但打印的值并不正确(只有 nan 或大的负值)。

好像没看懂怎么操作。。。

有人能帮助我吗?

非常感谢 !

塞巴斯蒂安。

4

1 回答 1

1

格式告诉你音频是如何格式化的:sp_audioformat

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

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

于 2013-07-11T22:05:39.887 回答