Я хочу создать массив из AVPlayerItem
объектов из другого массива, используя строку в цикле. Он работает для одного элемента, но не для всего массива.iOS - Невозможно использовать AVQueuePlayer initwithitems()
MPMediaQuery *albumQuery = [MPMediaQuery albumsQuery];
MPMediaPropertyPredicate *albumPredicate = [MPMediaPropertyPredicate predicateWithValue:@"Out Of Exile" forProperty:MPMediaItemPropertyAlbumTitle];
[albumQuery addFilterPredicate:albumPredicate];
NSArray *songs = [albumQuery items];
NSMutableArray <AVPlayerItem*> *items;
NSUInteger i = 0;
while(i < [songs count]){
AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithURL:[[songs objectAtIndex:i] valueForProperty:MPMediaItemPropertyAssetURL]];
[items addObject:playerItem];
i++;
}
AVPlayerItem *item = [[AVPlayerItem alloc] initWithURL:[[songs objectAtIndex:index] valueForProperty:MPMediaItemPropertyAssetURL]]; //manually created item which works
_player = [[AVQueuePlayer alloc] initWithItems:items];
[_player play];
Итак, моя проблема заключается в том, что я не могу правильно инициализировать AVQueuePlayer
с и массив, и это сводит меня с ума. Если я инициализирую его InitWithPlayerItem
и добавлю элемент, который я создал, он работает (играет), но он не работает ни с одним объектом из массива элементов.
Даже при звонке InitWithItems:items[index*]
ничего не происходит.