проигрывание аудио файлов из таблицы, iphone - PullRequest
2 голосов
/ 17 декабря 2009

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

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 Ответ

1 голос
/ 17 декабря 2009

Может ли это быть так просто, как реализация AVAudioPlayerDelegate?

appSoundPlayer.delegate=self;

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...