Я пытаюсь потушить дорожку AVComposition (ее аудиодорожку для видео).AVMutableAudioMix - Can not fade out
Я могу угаснуть его с самого начала без проблем, но у меня много проблем, угасающих в конце. Вот мой код:
AVMutableAudioMixInputParameters *audioMixParameters = [AVMutableAudioMixInputParameters audioMixInputParametersWithTrack:compositionAudioTrack];
[audioMixParameters setVolume:0.0 atTime:kCMTimeZero];
[audioMixParameters setVolumeRampFromStartVolume:0.0 toEndVolume:1.0 timeRange:CMTimeRangeMake(kCMTimeZero, CMTimeMake(150, kVideoFPS))];
CMTime fadeOutBegin = CMTimeMake((length - 5) * kVideoFPS, kVideoFPS);
[audioMixParameters setVolumeRampFromStartVolume:1.0 toEndVolume:0.0 timeRange:CMTimeRangeMake(fadeOutBegin, totalDuration)];
AVMutableAudioMix *audioMix = [AVMutableAudioMix audioMix];
audioMix.inputParameters = [NSArray arrayWithObject:audioMixParameters];
length
является NSUInteger что длина видео в секундах.
totalDuration
является CMTime от продолжительности Всего видео с в масштабе времени kVideoFPS
kVideoFPS
является константой со значением 30
Моя цель состоит в том, чтобы начать исчезать из 5 секунд с момента окончания композиции , Я пробовал всевозможные вещи, такие как CMTimeMakeWithSeconds. Я также изменил значения fade in, и он отлично работает (с самого начала уменьшает объем от 1,0 до 0,0).
Любые мысли очень ценятся!
Вы уверены, что длина больше чем за 5 секунд? – Till
Yep - длина переменной, но, как минимум, 17 секунд. – gamblor87
Вы нашли решение этого ..? –