我在数组中创建了一个音乐文件名列表,用于填充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];
答案 0 :(得分:1)
这可能就像实施AVAudioPlayerDelegate
一样简单吗?
appSoundPlayer.delegate=self;
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
if (successfully)
{
// play next track
}
}
显然你需要跟踪当前正在播放的曲目,以便计算出下一首曲目,但这应该不是问题。你还必须为轨道跳过等实现自己的控制和逻辑,但这很容易做到。