我在数组中创建了一个音乐文件名列表,用于填充 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];
最佳答案
这可以像实现 AVAudioPlayerDelegate
一样简单吗?
appSoundPlayer.delegate=self;
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
if (successfully)
{
// play next track
}
}
显然,您需要跟踪当前正在播放的轨道,以便计算出下一个要播放的轨道,但这应该不是问题。您还必须实现自己的控件和逻辑以进行轨道跳过等,但这同样很容易完成。
关于iphone - 播放桌面、iPhone 上的音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1919667/