2012-11-26 120 views
3

我正在使用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。但它没有演奏。请一些 请帮

+0

请检查该链接,它可以帮助你 http://stackoverflow.com/questions/1605846/avaudioplayer-with-external-url-to-m4p – Anand

+0

我不是想打歌从一个url,我想从ipod库播放歌曲。 – Mithuzz

+0

@Mithuzz你有没有想过这个?我得到确切同样的错误,试图从库中播放的歌曲。只发生在ios5上。 – soleil

回答

相关问题