AVPlayerItem может быть привязан только к одному AVPlayer. Когда AVPlayerItem добавлен в AVPlayer, будущие попытки добавить его к другому AVPlayer будут SIGABRT приложением.
Итак, с учетом AVPlayerItem, как вы можете определить:
- С чем связан AVPlayer? и
- Если он когда-либо был вставлен в AVPlayer в любой момент в прошлом?
Следующий код демонстрирует проблему надежно:
AVPlayerItem *item = [AVPlayerItem playerItemWithURL:[NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"]];
AVPlayer *firstPlayer = [[AVPlayer alloc] init];
[firstPlayer replaceCurrentItemWithPlayerItem:item];
AVPlayer *secondPlayer = [[AVPlayer alloc] init];
[secondPlayer replaceCurrentItemWithPlayerItem:item];
И вот сообщение об ошибке:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'An AVPlayerItem cannot be associated with more than one instance of AVPlayer'