Если вы используете AVPlayer
вместо AVAudioPlayer
, тогда вы можете использовать метод
- (id)addPeriodicTimeObserverForInterval:(CMTime)interval queue:(dispatch_queue_t)queue usingBlock:(void (^)(CMTime time))block
, который будет вызывать блок с установленным интервалом в течение всего времени воспроизведения элемента.Параметр Time
, переданный в блок, сообщит вам, как долго текущий элемент воспроизводится.
Поэтому все, что вам нужно сделать, это проверить значение Time
и определенноедлина, затем позвоните pause
, чтобы остановить игрока.Затем вы можете настроить одноразовый таймер на срабатывание через определенное время для возобновления воспроизведения.