player.rate = 4.0 对我不起作用。

这是使用 AVPlayer 达到 4.0 的好方法,还是有更好的方法?

最佳答案

使用 [AVComposition scaleTimeRange:toDuration:] 生成快速运动的 AVAsset

float rate = 4.0;
AVAsset *asset = [AVAsset assetWithURL:someURL];
AVMutableComposition *composition = [AVMutableComposition composition];
NSError *error = nil;
[composition insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset.duration)
                     ofAsset:asset
                      atTime:kCMTimeZero error:&error];
[composition scaleTimeRange:CMTimeRangeMake(kCMTimeZero, asset.duration)
                 toDuration:CMTimeMultiplyByFloat64(asset.duration, 1 / rate)];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:composition];
AVPlayer *player = [AVPlayer playerWithPlayerItem:playerItem];

关于ios - 如何在 iOS 中使用 AVPlayer 实现 4.0 的播放速率?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30745780/

10-11 16:35