我正在尝试通过蓝牙从一台iOS设备向另一台设备发送音乐。我一直在使用this来构建像Ray Wenderlich的SNAP教程中的数据包,但我一直无法在接收电话上重建数据包信息。我尝试过使用https://github.com/abbood/iphoneAudioSyncer,但我认为这对我的需求来说太复杂了(因为我不需要同步播放)。什么是最简单的缓冲方法来解决丢失/无序数据包之类的问题?我已经阅读了很多CoreAudio内容,但它非常密集,所以我很感激那些解决了这类问题的人的帮助。
答案 0 :(得分:4)
当你谈论丢失/无序数据包时......你在谈论Packet Loss Concealment的主题......这是一个非常密集的主题(我的意思是如果你认为核心音频是密集的......等待直到你潜入PLC)。
简而言之,有很多方法可以处理数据包丢失..但最简单的方法(我建议你这样做)是用静音替换丢失的数据包(同样的是无序数据包...如果是数据包乱序..只是丢弃它。)
据说...你正在处理流式传输给你的音频(即通过蓝牙/ wifi网络发送)..这意味着几乎100%的时间它都是你得到的压缩音频(即可变位)评估音频VBR)..如果您只是尝试用静音替换丢失的VBR数据包..您将遇到this问题。您要么必须以与您正在处理的VBR音频相同的压缩格式插入静音数据包,要么必须将VBR压缩音频转换为非压缩音频(无损PCM),然后插入零代替丢失的数据包。