最近公司有个新的需求,要求对自己App的播放器可以设置快速,慢速和正常速度的播放。
除了要设置self.player.rate 只是将速度进行修改,对于音频的质量并没有什么保证,如果对于音频质量有所保证的话,需要设置AVPlayerItem
的一个属性audioTimePitchAlgorithm
@property (copy) AVAudioTimePitchAlgorithm audioTimePitchAlgorithm 控制倍速播放的质量:
@constant AVAudioTimePitchAlgorithmLowQualityZeroLatency
可设置速度范围:{0.5, 0.666667, 0.8, 1.0, 1.25, 1.5, 2.0} 低质量,计算成本非常低。 适用于短暂的快进/快退效果,低质量的声音。(这个是默认属性)
@constant AVAudioTimePitchAlgorithmTimeDomain
可设置速度范围:1/32 to 32.质量适中,计算成本低。 适合声音。
@constant AVAudioTimePitchAlgorithmSpectral
可设置速度范围:1/32 to 32.最高质量,计算成本最高。 适合音乐。(这个音质最好,快进/慢进的声音正常)
@constant AVAudioTimePitchAlgorithmVarispeed
可设置速度范围:1/32 to 32.高质量,无音高校正。 音高随速率变化。(用这个,快进会高音、慢进会低音)
特此笔记
参考连接:《iOS开发:视频快进、慢进、快退(倍速播放)》