为什么不是我的AVPlayer音量淡出?

我想使用AVMutableAudioMixInputParameters的setVolumeRampFromStartVolume方法将我的AVPlayer的音量淡化为0。 这是我的代码:

-(void)fadeOutVolume { // AVPlayerObject is a property which points to an AVPlayer AVPlayerItem *myAVPlayerItem = AVPlayerObject.currentItem; AVAsset *myAVAsset = myAVPlayerItem.asset; NSArray *audioTracks = [myAVAsset tracksWithMediaType:AVMediaTypeAudio]; NSMutableArray *allAudioParams = [NSMutableArray array]; for (AVAssetTrack *track in audioTracks) { AVMutableAudioMixInputParameters *audioInputParams = [AVMutableAudioMixInputParameters audioMixInputParametersWithTrack:track]; [audioInputParams setVolumeRampFromStartVolume:1.0 toEndVolume:0 timeRange:CMTimeRangeMake(CMTimeMake(0, 1), CMTimeMake(5, 1))]; [allAudioParams addObject:audioInputParams]; } AVMutableAudioMix *audioMix = [AVMutableAudioMix audioMix]; [audioMix setInputParameters:allAudioParams]; } 

任何人都可以看到这个代码有什么问题吗? 这不会正确淡出音量。

我错过了这个关键线:

 [myAVPlayerItem setAudioMix:audioMix]; 

这是一个相对简单的解决scheme,我很失望,通常超级快速和敏锐的StackOverflow社区没有发现问题。

  [audioInputParams setVolumeRampFromStartVolume:1.0 toEndVolume:0 timeRange:CMTimeRangeMake(CMTimeMake(0, 1), CMTimeMake(5, 1))]; 

在这里你将开始设置为1.0,结束为0,所以只有audio淡出