if (mPlayerItem){
[mPlayerItem removeObserver:self forKeyPath:kStatusKey];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:AVPlayerItemDidPlayToEndTimeNotification
object:mPlayerItem];
}
//create AVPlayerItem
NSURL *url = [self getUrlWithROAudio:audioFile];
mPlayerItem = [AVPlayerItem playerItemWithURL:url];
[mPlayerItem addObserver:self
forKeyPath:kStatusKey
options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew
context:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(playerItemDidReachEnd:)
name:AVPlayerItemDidPlayToEndTimeNotification
object:mPlayerItem];
when i create a new AVPlayerItem , i will check if last one is exist, and removeObserver
but i got
-[AVPlayerItem removeObserver:forKeyPath:]: message sent to deallocated instance
anyone know why?
At some point, the object pointed to by
mPlayerItemis being released, butmPlayerItemis not being set tonil. Look for places where you may be under-retaining or over-releasing your player instances.