android上的LibSpotify是否提供了与Linux不同格式的PCM



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

出于测试目的,我尝试存储PCM文件,并使用大胆的方式播放它。在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倍。

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

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

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

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

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

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

最新更新