Я пытаюсь выяснить obj-c/cocoa touch
и AVPlayer
в частности. Я могу построить и играть в AVQueuePlayer
без проблем.
NSMutableArray *items = [[NSMutableArray alloc] init];
[items addObject: [self buildPlayerItem:@"http://<some url>first.mp3"]];
[items addObject: [self buildPlayerItem:@"http://<some url>second.mp3"]];
self.queuePlayer = [[AVQueuePlayer alloc] initWithItems:items];
Я могу вызвать play, pause, advanceToNextItem
и currentItem
на self.queuePlayer
, но любой вызов метода [self.queuePlayer status]
или попытка доступа к свойству self.queuePlayer.status
приводит к тому, что приложение выдает ошибку EXC_BAD_ACCESS
. Я получаю ту же проблему, пытаясь получить статус currentItem проигрывателя очереди.
Насколько я понимаю, эта ошибка означает, что я пытаюсь получить доступ к свойству объекта, который был освобожден, но
1) Я использую ARC
2) кажется невозможным, что self.queuePlayer не был освобожден, так как я могу вызвать play на нем, и
3) status - это свойство self.queuePlayer, а не свойство одного из моих собственных классов, поэтому, вероятно, что-то в реализации AVQueuePlayer управляет переменной состояния.