1

我正在尝试通过蓝牙将音乐从一台 iOS 设备发送到另一台设备。我一直在使用来构建数据包,就像在 Ray Wenderlich 的 SNAP 教程中一样,但是我在重建接收电话上的数据包信息时遇到了麻烦。我曾尝试使用https://github.com/abbood/iphoneAudioSyncer但我认为这对我的需求来说太复杂了(因为我不需要同步播放)。解决丢失/乱序数据包等问题的最简单的缓冲方法是什么?我已经阅读了很多 CoreAudio 的东西,但它非常密集,所以我希望得到解决这类问题的人的帮助。

4

1 回答 1

4

当您谈论丢失/乱序数据包时..您正在谈论数据包丢失隐藏的主题..这是一个非常密集的话题(我的意思是,如果您认为核心音频很密集..等到您深入了解PLC) .

简而言之,有很多方法可以处理数据包丢失。但最简单的方法(我建议您这样做)是用静音替换丢失的数据包(无序数据包也是如此。如果数据包丢失按顺序..只是丢弃它)。

话虽如此..您正在处理流式传输给您的音频(即通过蓝牙/wifi网络发送)..这意味着几乎100%的时间它是您获得的压缩音频(即可变比特率音频VBR ).. 如果您只是尝试用静音替换丢失的 VBR 数据包.. 您会遇到这个问题。您必须插入与您正在处理的 VBR 音频相同压缩格式的静音数据包,或者您必须将 VBR 压缩音频转换为非压缩音频(无损 PCM),然后插入零代替丢失的数据包。

于 2013-03-19T06:41:25.557 回答