2009-12-17 2 views
2

Я создал список имен музыкальных файлов в массиве, который используется для заполнения uitableview. Я хочу, чтобы аудиоплеер взял этот массив или таблицу в качестве плейлиста и воспроизводил их непрерывно один за другим со всеми функциями, такими как воспроизведение, пауза, следующий, предыдущий, вперед, назад и остановка. Каков наилучший способ реализации этого. Все музыкальные файлы в самой папке ресурсов, так что я могу инициируют каждый, каквоспроизведение аудиофайлов из таблицы, iphone

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"filename" ofType:@"mp3"]; 


NSURL *newURL = [[NSURL alloc] initFileURLWithPath: soundFilePath]; 
    self.soundFileURL = newURL; 
    [newURL release]; 


    [[AVAudioSession sharedInstance] setDelegate: self]; 

    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil]; 


AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL: soundFileURL error: nil]; 
    self.appSoundPlayer = newPlayer; 
    [newPlayer release]; 


    [appSoundPlayer prepareToPlay]; 
    [appSoundPlayer setVolume: 1.0]; 
    [appSoundPlayer setDelegate: self]; 

ответ

1

Может быть, это так же просто, как осуществление AVAudioPlayerDelegate?

appSoundPlayer.delegate=self; 

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag 
{ 
    if (successfully) 
    { 
     // play next track 
    } 
} 

Очевидно, что вы должны были бы отслеживать, какой трек воспроизводится в данный момент для того, чтобы работать на следующий трек, чтобы играть, но это не должно быть проблемой. Вам также придется реализовать свои собственные элементы управления и логику для отслеживания пропусков и т. Д., Но это легко сделать.

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