我正在使用 AVAudioPlayer 创建一个 iPhone 应用程序。它在 iOs 6 设备中运行良好。但它不能在 iOs 5 及更低版本中播放 iPod 库中的歌曲。当我尝试从 NSBundle 播放音乐文件时,它正在工作,所以只有当我尝试从 iPod 库播放歌曲时才会出现问题。这是我的代码,请检查
if (isPlaying) {
[audioPlayer stop];
isPlaying = NO;
}
extern NSMutableArray *songsUrlArray;
extern int selectedSongIndex;
audioPlayer.volume = 1.0;
NSString *urlString = [NSString stringWithFormat:@"%@",[songsUrlArray objectAtIndex:selectedSongIndex]];
NSURL *url = [NSURL URLWithString:urlString];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
audioPlayer.delegate = self;
audioPlayer.numberOfLoops = 0;
if (audioPlayer == nil)
NSLog(@"%@",[error description]);
else{
[audioPlayer play];
isPlaying = YES;
}
编辑:
这是我收到的错误消息,
Error Domain=NSOSStatusErrorDomain Code=-43 "The operation couldn’t be completed. (OSStatus error -43.)"
当我用谷歌搜索时,我发现OSStatus error -43
指定路径中没有可用内容时会出现这种情况。这是 3GS 设备中 iPod 库中歌曲的路径,ipod-library://item/item.mp3?id=564371652689620079
. 但它不玩。请一些请帮助