Ошибки доступа к состоянию AVQueuePlayer - PullRequest
0 голосов
/ 06 февраля 2012

Я пытаюсь выяснить 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 управляет переменной состояния.

1 Ответ

0 голосов
/ 06 февраля 2012

Оказывается, свойство status AVPlayer является целым числом ... Я предполагал, что это NSString или что-то более сложное.Таким образом, проблема заключалась не в ссылке на освобожденный объект, а в печати целого числа с% @.

...