我正在使用AVAudioPlayer创建iPhone应用程序。它在iOs 6设备中工作正常。但它不是从iOs 5及更低版本的iPod库播放歌曲。当我试图播放来自NSBundle的音乐文件时,它正在工作,所以只有当我尝试播放iPod库中的歌曲时才会出现问题。这里是我的代码,请AVAudioplayer不从iOS中的iPod库播放歌曲5
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.)"
当我用Google搜索,我发现OSStatus error -43
是当到达那里在指定的路径中没有可用的内容。以下是3GS设备中iPod库的歌曲路径,ipod-library://item/item.mp3?id=564371652689620079
。但它没有演奏。请一些 请帮
请检查该链接,它可以帮助你 http://stackoverflow.com/questions/1605846/avaudioplayer-with-external-url-to-m4p – Anand
我不是想打歌从一个url,我想从ipod库播放歌曲。 – Mithuzz
@Mithuzz你有没有想过这个?我得到确切同样的错误,试图从库中播放的歌曲。只发生在ios5上。 – soleil