2012-03-08 6 views
1

НАСТРОЙКАиграть mp3 из nsbundle

Я положил mp3 в мою пачку только для тестирования, я буду иметь их загрузить в каталог документов. Но пока я собираюсь сработать с пучком.

Я нашел пару учебников, но не все, что мне нужно. Нижеследующее, безусловно, представляет собой сочетание нескольких решений и, вероятно, не самый лучший подход.

Проблема

Как вытащить песню из моей пачки и играть в приложении?

//Create an instance of MPMusicPlayerController 
MPMusicPlayerController* myPlayer = [MPMusicPlayerController applicationMusicPlayer]; 

//Read the song off the bundle. 
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"LittleMoments" ofType:@"mp3"]; 
NSData *myData = [NSData dataWithContentsOfFile:filePath]; 

if (myData) { 

    //This wont work for me because i don't want to query songs from the iPod, 
    i want to play songs out of the Bundle. 

    //Create a query that will return all songs by The Beatles grouped by album 
    MPMediaQuery* query = [MPMediaQuery songsQuery]; 
    [query addFilterPredicate:[MPMediaPropertyPredicate predicateWithValue:@"The Beatles" forProperty:MPMediaItemPropertyArtist comparisonType:MPMediaPredicateComparisonEqualTo]]; 
    [query setGroupingType:MPMediaGroupingAlbum]; 

    //Pass the query to the player 
    [myPlayer setQueueWithQuery:query]; 
/////**** how can i get nsdata into MyPlayer?*****////// 

    //Start playing and set a label text to the name and image to the cover art of the song that is playing 
    [myPlayer play]; 

} 

ответ

4

Попробуйте воспроизвести файл с AVAudioPlayer

AVAudioPlayer *audioPlayer = [(AVAudioPlayer*)[AVAudioPlayer alloc] initWithData:myData error:nil]; 

audioPlayer.delegate = self; 
[audioPlayer play]; 
+0

я получаю это предупреждение: прохождение ViewController * const_strong к параметру incompatiable типа ид . Он также дает BAD_EXEC в [playPlayer]; – zach

+0

удалите audioPlayer.delegate = self; line или добавить AVAudioPlayerDelegate в качестве протокола к вашему ViewController. – tim

+0

Спасибо за помощь. Я просто искал AVAudioPlayer и нашел этот учебник, и это сработало чудеса. http://mobileorchard.com/easy-audio-playback-with-avaudioplayer/ Еще раз спасибо – zach

 Смежные вопросы

  • Нет связанных вопросов^_^