искать время в AVQueuePlayer - PullRequest
3 голосов
/ 02 мая 2011

Может ли кто-нибудь помочь мне искать в определенное время в AVQueuePlayer?

Я использую этот контроллер для воспроизведения видео на iPhone, потому что мне нужно воспроизводить два видео одновременно. Но моя проблема в том, чтобы перемещаться по видео и переходить к определенному времени, я не могу этого сделать.

Я знаю, что метод [controller seekToTime:(CMTime)] Но он не перемещает видео в точное положение видео.

Кто-нибудь знает решение?

Ответы [ 2 ]

2 голосов
/ 03 мая 2011

Это указано в документации для seekToTime::

Требуемое время может отличаться от указанного времени для эффективности. Для точного поиска образца см. seekToTime:toleranceBefore:toleranceAfter:.

Поэтому попробуйте вместо этого использовать seekToTime:toleranceBefore:toleranceAfter:, указав низкий или нулевой допуск. Вы также можете указать true для AVURLAssetPreferPreciseDurationAndTimingKey при создании любых AVURLAssets, которые вы можете использовать.

1 голос
/ 02 мая 2011

Обновление ... Я закончил хакерством и не особо обрадовался результатам - чёрный промежуток между фильмами может показывать или не показывать, а также потому, что я был плох и не задавался вопросом о нагрузке статус и т. д. можно запутать многие вещи.

Но для прямого зацикливания AVI-объекта-актива AVQueuePlayer необходимо установить наблюдатель borderTime и использовать его для перемотки объекта-актива. Мой материал длится всего несколько секунд, поэтому seekToTime довольно плавный, я не знаю, что он будет делать, пытаясь найти более длинный актив. зацикливание assetItem в AVQueuePlayer

...