Я пытаюсь наблюдать время на временной шкале моего 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()
}