【发布时间】:2017-07-25 21:11:36
【问题描述】:
我想在 swift 3 中编写一个应用程序,以便在从一个到另一个传递时播放排队的音频文件而没有任何间隙、裂缝或噪音。
我的第一次尝试是使用 AvAudioPlayer 和 AvAudioDelegate (AVAudioPlayer using array to queue audio files - Swift),但我不知道如何预加载下一首歌曲以避免间隙。即使我知道该怎么做,我也不确定这是实现目标的最佳方式。 AVQueuePlayer 似乎是这份工作的更好人选,它是为此目的而制作的,但我没有找到任何可以帮助我的例子。 也许这只是预加载或缓冲的问题?我有点迷失在这充满可能性的海洋中。
欢迎提出任何建议。
【问题讨论】:
-
除非您平滑地交叉淡入淡出音频文件,否则总会出现裂缝,因为波形不会无缝匹配,而“跳跃”对应于感知声音频谱中的高频。当然,如果音频文件对应于最初是一个不间断声音的各个片段,那么你应该很好......
-
它们是转换为音频文件的 MIDI 合成样本。它们都以“0”开始,以“0”结束。通过扩大搜索,我找到了一个完美的解决方案。它基于这篇文章:stackoverflow.com/questions/30479403/…。我很快就会发布代码。
标签: swift macos audio avaudioplayer avqueueplayer