如何在我的ios应用程序中播放远程.mp3文件?

我正在尝试播放远程.mp3 file

但它给出了以下错误。

 The operation couldn't be completed. (OSStatus error -43.) 

这是我的代码:

 - (void)viewDidLoad { [super viewDidLoad]; isPlaying = NO; /* NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Dar-e-Nabi-Per" ofType:@"mp3"]]; */ NSURL *url = [NSURL URLWithString:@"http://megdadhashem.wapego.ru/files/56727/tubidy_mp3_e2afc5.mp3"]; NSError *error; audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error]; if (error) { NSLog(@"Error in audioPlayer: %@", [error localizedDescription]); } else { audioPlayer.delegate = self; [audioPlayer prepareToPlay]; } } 

任何人都可以指导我在哪里做错了

要从远程服务器传输音频,请使用AVPlayer而不是AVAudioPLayer。 AVPlayer文档

示例代码:

 - (void)playSampleSong:(NSString *)iSongName { NSString *aSongURL = [NSString stringWithFormat:@"http://megdadhashem.wapego.ru/files/56727/tubidy_mp3_e2afc5.mp3"]; // NSLog(@"Song URL : %@", aSongURL); AVPlayerItem *aPlayerItem = [[AVPlayerItem alloc] initWithURL:[NSURL URLWithString:aSongURL]]; AVPlayer *anAudioStreamer = [[AVPlayer alloc] initWithPlayerItem:aPlayerItem]; [anAudioStreamer play]; // Access Current Time NSTimeInterval aCurrentTime = CMTimeGetSeconds(anAudioStreamer.currentTime); // Access Duration NSTimeInterval aDuration = CMTimeGetSeconds(anAudioStreamer.currentItem.asset.duration); } 

用它来播放URL中的歌曲

 NSData *songData=[NSData dataWithContentsOfURL:url]; self.player = [[AVAudioPlayer alloc] initWithData:songData error:nil]; self.player.numberOfLoops=0; _player.delegate=self; [_player prepareToPlay]; [_player play]