我知道您可以轻松地设置音乐播放器的音量属性,但我想像谷歌地图一样顺利地完成它,当他们使用画外音进行导航说明时。
我想知道最好的方法是什么。
谢谢!
我会尝试使用重复的 NSTimer。每次计时器触发时,您都会降低音量。当它达到目标值时,您会使计时器无效。
获得重复事件的其他方法(以便您可以随着时间逐渐分阶段做某事)是DISPATCH_SOURCE_TYPE_TIMER
和 CADisplayLink。但我认为计时器可能是最简单的入门方法。
如果您正在播放预先存在的声音,则完全不同的解决方案是在开始播放之前对其应用淡出(然后以相同的音量播放,因为声音本身会淡出,请执行你看)。AVFoundation 为您提供了执行此操作的工具(例如setVolumeRampFromStartVolume:toEndVolume:timeRange:
)。