Я следую этому учебнику , в котором объясняется, как создать AVPlayer и использовать его с Swift UI. Я нахожусь в той части, где панель поиска становится индикатором выполнения для видеопроигрывателя.
Итак, следуя этой части, я написал код, показанный в руководстве, но в следующей строке кода,
player.addPeriodicTimeObserver(forInterval: CMTime(seconds: 0.5, preferredTimescale: 600), queue: nil) { time in
guard let item = self.player.currentItem else{
return
}
self.seekPos = time.seconds / item.duration.seconds
}
скобка перед time in
подчеркнута красным, и я получил следующую ошибку:
Escaping closure captures mutating 'self' parameter
Есть ли способ это исправить? Я хочу, чтобы слайдер стал индикатором видео. addPeriodicTimeObserver
находится в init
внутри моего struct
.
РЕДАКТИРОВАТЬ : Учебное пособие, которое я использую, предназначено для iOS, но я разрабатываю для macOS. Я только что внес изменения, чтобы код из этого руководства работал для macOS.