AVPlayer.addPeriodicTimeObserverForInterval()
을 설정하려고합니다. 누구든지 이것을 성공적으로 사용 했습니까?iOS AVPlayer에서 addPeriodicTimeObserverForInterval이 누락 된 것 같습니다.
내가
AVPlayer.addPeriodicTimeObserverForInterval()
을 설정하려고합니다. 누구든지 이것을 성공적으로 사용 했습니까?iOS AVPlayer에서 addPeriodicTimeObserverForInterval이 누락 된 것 같습니다.
내가
또한 예를 들어
let timeObserverToken = player.addPeriodicTimeObserver(forInterval: interval, queue: DispatchQueue.main) { [unowned self] time in
}
이 here
에서 참조 된이 코드를 확인 엑스 코드 8.1, 스위프트 3을 사용하고 있습니다 허용 된 답은 로컬 변수에 반환 값을 할당하고 무시할 수 있다고 생각합니다. 그러나 doc에 따르면 반환 값에 대한 강력한 참조를 보유하고 실제로 removeTimeObserver(_ :)
을 보유하는 것이 중요합니다.
플레이어가 시간 옵저버를 호출하기를 원하면 반환 값을 강력하게 유지해야합니다. 이 메소드를 호출 할 때마다 removeTimeObserver (:) 에 대한 호출과 쌍을 이루어야합니다. removeTimeObserver ( :) 을 호출하지 않고 관찰자 객체를 해제하면 정의되지 않은 동작이 발생합니다.
그래서 내가 할 것이다 :
if let ob = self.observer {
player. removeTimeObserver(ob)
}
let interval = CMTimeMake(1, 4) // 0.25 (1/4) seconds
self.observer = player.addPeriodicTimeObserver(forInterval: interval, queue: DispatchQueue.main) { [weak self] time in
...
}