Может ли MPMusicPlayerController воспроизводить музыку с локального ресурса? - PullRequest
1 голос
/ 04 ноября 2011

Я хочу играть музыку с MPMusicPlayerController.

MPMediaItem * mediaItem = [];
MPMediaItemCollection *songs;
NSArray * array = [NSArray arrayWithObjects:mediaItem, nil];
songs = [MPMediaItemCollection collectionWithItems:array];

[[MPMusicPlayerController iPodMusicPlayer] setQueueWithItemCollection:songs];      

Я не знаю, как дать mediaItem, и у меня есть mp3-файл. Помоги мне. благодарю вас!

1 Ответ

2 голосов
/ 16 февраля 2012

Нет, MPMusicPlayerController будет воспроизводить музыку только из библиотеки мультимедиа (поэтому она находится в структуре MP / MediaPlayer). Вам нужно будет использовать класс AVAudioPlayer или AVPlayer. К сожалению, немного больше работ по реализации.

Что-то вроде этого должно помочь вам начать:

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/audiofile.mp3",      [[NSBundle mainBundle] resourcePath]]];

NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = -1;

if (audioPlayer == nil)
    NSLog([error description]);
else
    [audioPlayer play];
...