![]() |
1
7
如果您需要极低的延迟,我发现了一个非常简单的解决方案,可以在AVAudioSession singleton上使用(当应用程序启动时会自动实例化): 首先,使用以下类方法获取对应用程序的AVAudioSession singleton的引用: (来自 AVAudioSession Class Reference ) :
然后,尝试将首选IO缓冲区持续时间设置为非常 short(如.002)使用此实例方法:
请记住上面的注释-
从CPU开销的角度考虑,另一件事是音频文件的格式。播放未压缩格式时,CPU开销非常低。苹果建议,为了获得最高质量和最低开销,您应该使用CAF文件。对于压缩文件和最低开销,您应该使用IMA4压缩: (来自 iOS Multimedia Programming Guide ) :
您也可以使用afconvert转换为IMA4:
|
![]() |
2
3
我花了一个下午的时间试图通过玩AVAudioPlayer&AVAudioSession,但我无法使用它。(不幸的是,按照这里接受的答案所建议的设置IO缓冲区持续时间似乎没有帮助。)我也尝试了AudioToolbox,但我发现结果的性能几乎相同——相关用户操作和音频之间明显存在明显的延迟。 在浏览了一下互联网之后,我发现: www.rockhoppertech.com/blog/swift-avfoundation网站/ 关于AVAudioEngine的部分被证明非常有用。下面的代码稍作修改:
} 这可能并不完美,因为我是一个Swift新手,以前没有使用过AVAudioEngine。不过,它似乎确实管用! |
|
user6428350 · 我如何在iOS中重复一首歌? 7 年前 |
![]() |
Amarsh · 任何HTML5录音机(以及音频播放器) 7 年前 |
![]() |
Newbie Questions · 当用户打开静音开关时静音 8 年前 |
![]() |
msampaio · iOS Swift中的简单低延迟音频播放 9 年前 |
![]() |
Adina Marin · 按下home按钮时在后台播放音乐 9 年前 |
![]() |
JordanC · AVAudioSession错误 9 年前 |
![]() |
Erik · 快速打开/关闭音频播放 10 年前 |
![]() |
flang1 · 暂停音乐播放器时检测 10 年前 |