line in 루프를 사용하여 다른 배열의 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
으로 초기화하고 만든 항목을 추가하면 작동 (재생)되지만 items 배열의 모든 개체에서 작동하지 않습니다.
InitWithItems:items[index*]
을 호출해도 아무 일도 일어나지 않습니다.