Как получить плавное высокоскоростное воспроизведение с AVPlayer?

AVPlayer имеет свойство под названиемrate это предназначено для контроля скорости воспроизведения.1.0 нормальная скорость, в то время как значения как2.0 или же5.0 следует воспроизводить в 2x и 5x соответственно.

Всякий раз, когда я устанавливаю значение скорости воспроизведения выше, чем1.0 (сказать10.0), воспроизведение очень прерывистое, и похоже, что большое количество кадров сбрасывается, так как плеер не может идти в ногу.

Однако те же значения в QuickTime Player (с тем же фильмом) обеспечивают плавное воспроизведение для скоростей2x, 5x, 10x, 30x and 60x (как сообщает QuickTime Player).

Я создал тестовое приложение OS X, которое не содержит ничего, кромеAVPlayerView и две кнопки для настройки скорости воспроизведения. Скорость1.0 работает как положено, но скорость10.0 производит очень прерывистое воспроизведение.

Тем не менееAVPlayerView имеет странную причуду в том, что если вы щелкнете мышью по временной шкале воспроизведения для поиска в другом месте (пока он воспроизводится с 10-кратной скоростью), тоAVPlayerView "исправит" воспроизведение, и фильм будет воспроизводиться плавно при 10x. Все, что нужно, это щелкнуть по шкале времени воспроизведения.

Кто-нибудь знает, как получить плавное воспроизведение на скорости, отличной от 1х? Это, очевидно, не аппаратная проблема или проблема размера файла, потому что QuickTime Player и AVPlayerView могут это сделать.

попытки

этовопрос предполагает, что это может быть проблема со звуком (и на самом деле и проигрыватель QuickTime Player, и AVPlayerView отключают звук при пересылке), но все попытки с моей стороны либо отключить все звуковые дорожки, отключить звук всех дорожек или изменить алгоритм подачи звука, похоже, не приводили к разница. Воспроизведение было нестабильным, даже когда не было звука.

Я также попытался остановить воспроизведение, а затем позвонивprerollAtRate:completionHandler с новой скоростью, но это тоже не имеет значения.

Что делают QuickTime Player и AVPlayerView, что обеспечивает плавное воспроизведение фильмов со скоростью 10x, 30x или даже 60x?

Ответы на вопрос(1)

Ваш ответ на вопрос