2016-09-23 3 views
1

AVAslayer에 대한 비디오 캐싱 시스템을 AVAssetResourceLoaderDelegate를 사용하여 개발 중입니다. 그러나 때로는 미디어 서비스 재설정 (AVAudioSessionMediaServicesWereResetNotification 알림)이 약 10 초마다 발생하며, 모든 AVPlayerItem 및 AVPlayer 객체를 다시 초기화하고 재생을 망가 뜨리는 것으로 나타났습니다.AVAudioSessionMediaServicesWereResetNotification이 자주 발생하는 이유는 무엇입니까 (iOS 10)?

같은 문제에 직면 한 사람이 있습니까? 아마도 스레딩 문제 또는 AVAssetResourceLoader 제한 사항이 있습니까?

감사합니다.

답변

1

발견 된 해결책입니다.

백그라운드에서 비동기 적으로 여러 AVPlayerItems에 대한 값과 축소판을로드하고있었습니다. 중요한 실수는 AVPlayerItem과 AVAsset이 할당되었지만 (AVAssetImageGenerator를 사용하여) 썸네일이 다른 스레드에서 요청 된 스레드에서 값이 요청되었다는 것입니다. 요청 된 미디어 서비스 재설정 요청과 동일한 스레드로 미리보기 요청을 이동했을 때 사라졌습니다.

+0

AVAssetImageGenerator가 동일한 스레드에 있어도 여러 항목에 동일한 문제가 있습니다. GCD를 사용합니까? –

관련 문제