0

我正在尝试libspotify在 Android 上集成。看起来我从 android 获得的原始 PCM 数据与我在 ubuntu 上获得的原始 PCM 数据不同。

出于测试目的,我尝试存储 PCM 文件并使用 audacity 播放它。在 Ubuntu 中它是完美的,但在 Android 中,它的播放不稳定且缓慢。

我尝试打印数据的前 10 个 int16_t,它看起来完全不同:

安卓 - -457 463 62 635 492 742 968 246 909 179

Ubuntu--944 960 128 1318 1020 1538 2008 510 1885 353

粗略分析显示每个 int16_t 值是我在 Android 中得到的值的 2.7 倍。

我的问题是如何获得与我在 Android 的 Ubuntu 中获得的相同的 PCM 数据。

4

1 回答 1

1

您永远无法保证相同的 PCM 数据,尤其是跨平台。

  • libspotify 可能正在使用不同的比特率设置。有时,如果它缓存了高质量的版本,即使比特率设置较低,它也可能会使用它。

  • 出于性能原因,libspotify 跨平台使用不同的解码器。

  • libspotify 可能正在对音频执行规范化,出于性能原因,规范化仅在某些平台上可用。

如果您需要跨会话进行精确的 PCM 匹配,libspotify 不是您的解决方案 - 它被设计为消费者音乐服务而不是专业音频提供商。

于 2013-12-16T16:05:14.700 回答