如何在我的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]