AVAudioMix用来在组合的音频轨道中进行自定义音频的处理。
AVAudioMix所具有的音频处理方法是由它的输入参数集定义的,它的参数是AVAudioMixInputParameters类型的对象。AVAudioMixInputParameters的实例关联组合中的单独音频轨道,并在添加到音频混合时定义基于轨道的处理方法。AVAudioMix和其相关联的AVAudioMixInputParameters集合都是不可变对象,意味着它们适用于为AVAssetExportSession和AVPlayerItem之类的客户端提供相关数据,不过不能操作其状态。当我们需要创建一个自定义音频混合时,需要改用它们在AVMutableAudioMix和AVMutableAudioMixInputParameters中的可变子类。
自动调节音量
AVMutableAudioMixInputParameters提供了两个方法来实现音量调节。
- (void)setVolumeRampFromStartVolume:(float)startVolume toEndVolume:(float)endVolume timeRange:(CMTimeRange)timeRange:允许在一个给定时间范围内平滑地将音量从一个值调节到另一个值。
- (void)setVolume:(float)volumeatTime:(CMTime)time:在指定时间点立即调节音量,音量在音频轨道持续时间内会保持不变,直到有另一个音量调节出现。
网友评论