Прежде чем вы сможете добавить своих наблюдателей, убедитесь, что вы удалили добавленных наблюдателей.
Аналогично, сделайте две функции для добавления и удаления наблюдателей, как
Добавить наблюдателей
func addObserver() {
addObserver(self, forKeyPath: #keyPath(player.currentItem.duration), options: [.new, .initial], context: &playerViewControllerKVOContext)
}
Удалить наблюдателей
func removeObservers() {
removeObserver(self, forKeyPath: #keyPath(player.currentItem.duration), context: &playerViewControllerKVOContext)
}
Обязательно вызовите removeObserver (), прежде чем делать вызовы addObserver ()
Удачного кодирования!