2009-12-17 5 views
2

J'ai créé une liste de noms de fichiers musicaux dans un tableau qui est utilisé pour remplir une vue uitable. Je veux que le lecteur audio prenne ce tableau ou cette table comme playlist et qu'il les joue continuellement un par un, avec toutes les fonctions comme jouer, mettre en pause, suivant, précédent, avancer, reculer et arrêter. Quelle est la meilleure façon de mettre en œuvre cela. Tous les fichiers musicaux dans le dossier ressource elle-même afin que je puisse Initier chacun commelecture de fichiers audio à partir d'une table, 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]; 

Répondre

1

cela pourrait être aussi simple que la mise en œuvre du AVAudioPlayerDelegate?

appSoundPlayer.delegate=self; 

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

Évidemment, vous aurez besoin de garder une trace dont la piste est en cours de lecture afin de travailler sur la piste suivante à jouer, mais cela ne devrait pas être un problème. Vous devrez également implémenter vos propres contrôles et la logique pour la piste, etc, mais encore une fois c'est facile à faire.

Questions connexes