Я пытаюсь наблюдать время на временной шкале моего AVPlayer.
Я попробовал это в основной очереди; что не сработало. Затем я переключился на фоновую очередь, как советовал эта запись о переполнении стека< /а>; чего не было ни с тем, ни с другим. Ищете рабочее решение или объяснение, почему это не работает.
//add boundary time notification to global queue
avLayer.player!.addBoundaryTimeObserver(forTimes: [NSValue(time: avLayer.player!.currentItem!.duration)], queue: DispatchQueue.main){
self.avLayer.player!.pause()
}
//add boundary time notification to background queue
avLayer.player!.addBoundaryTimeObserver(forTimes: [NSValue(time: avLayer.player!.currentItem!.duration)], queue: DispatchQueue.global(qos: .userInteractive)){
self.avLayer.player!.pause()
}
Обновление: после сохранения строгой ссылки на возвращаемое значение наблюдателя я установил точку останова в обратном вызове. Это все еще не работает.
//add boundary time notification
boundaryTimeObserver = avLayer.player!.addBoundaryTimeObserver(forTimes: [NSValue(time: avLayer.player!.currentItem!.duration)], queue: DispatchQueue.main){
self.avLayer.player!.pause()
}