答案 0 :(得分:1)
我会尝试使用重复的NSTimer。每次定时器点火时,你都会降低音量。当它达到目标值时,您将使计时器无效。
获得重复事件的其他方式(以便您可以逐步逐步执行某些操作)是DISPATCH_SOURCE_TYPE_TIMER
和CADisplayLink。但我认为计时器可能是最简单的入门方式。
如果您正在播放预先存在的声音,则完全不同的解决方案是在开始播放之前将幻灯片应用到(然后在同一时间播放)音量,因为声音本身淡出,你看到了吗? AVFoundation为您提供了执行此操作的工具(例如setVolumeRampFromStartVolume:toEndVolume:timeRange:
)。