Обратное воспроизведение AVPlayer

Как можно заставить объект AVPlayer воспроизводить свой видеоконтент в обратном порядке? Класс AVPlayerItem имеет свойство под названием «reversePlaybackEndTime», что заставляет меня думать, что обратное воспроизведение возможно, но я не могу найти в документации ничего о том, как это сделать.


person fieldtensor    schedule 23.05.2011    source источник


Ответы (2)


Вам может reverse play понравиться это, так как queuePlayer это AVPlayer:

Сначала доберитесь до end из video

CMTime durTime = self.queuePlayer.currentItem.asset.duration;
durationTime = CMTimeGetSeconds(durTime);
//NSLog(@"durationTime :%f : %f",durTime);
if (CMTIME_IS_VALID(durTime))
    [self.queuePlayer seekToTime:durTime toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero];
else
    NSLog(@"In valid time");

Теперь установите Rate из AVPlayer в значение negative.

[self.queuePlayer setRate:-1];
person Paresh Navadiya    schedule 19.04.2013

Когда вы отправляете сообщение «воспроизведение» объекту AVPlayer, он начинает воспроизведение, и это эквивалентно установке свойства rate на 1,0. Вы пытались установить для этого свойства значение -1.0? У меня сейчас нет Mac, чтобы протестировать его, поэтому, если это не сработает, я удалю свой ответ.

person danny_23    schedule 23.05.2011
comment
в соответствии с документами Apple скорость может быть от 0,0 до 1,0. -1.0 не является допустимым значением. developer.apple.com/library/prerelease/ios/documentation/ - person Jake Johnson; 25.01.2016
comment
Говорит Значение 0,0 приостанавливает воспроизведение видео, а значение 1,0 воспроизводит текущий элемент с его естественной скоростью. Можно использовать ставки, отличные от 0,0 и 1,0, если связанный элемент проигрывателя возвращает true для свойств AVPlayerItem canPlaySlowForward или canPlayFastForward. Диапазоны отрицательных значений скорости поддерживаются, если элемент проигрывателя возвращает true для свойств canPlayReverse, canPlaySlowReverse и canPlayFastReverse. - person shim; 05.01.2017