AVCompositionトラック(ビデオ用のオーディオトラック)をフェードアウトしようとしています。AVMutableAudioMix - フェードアウトできません
私はそれを最初にフェードアップすることはできますが、最後にフェードアウトするのに多くの問題があります。ここに私のコードは次のとおりです。
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
kVideoFPS
kVideoFPS
のタイムスケールで総ビデオの再生時間のCMTIMEが30
私の目標は、組成物の端から5秒フェードアウトを開始する値で一定であります。私はCMTimeMakeWithSecondsのようなあらゆる種類のものを試しました。私はフェードインの値を逆にして、うまく動作します(最初にボリュームを1.0から0.0にフェードアウト)。
大変ありがとうございます!
あなたは長さが5秒以上であることを確認していますか? – Till
はい - 長さは可変ですが、少なくとも17秒です。 – gamblor87
この解決策を見つけましたか? –