我想在iPhone中使用URL Link播放音乐文件。但是,当我使用下面的代码时,我收到错误,我没有得到我出错的地方。谁能纠正我?
-(void)viewDidLoad
{
[super viewDidLoad];
NSString* resourcePath = @"http://192.167.1.104:8888/SHREYA.mp3"; //your url
NSData *_objectData = [NSData dataWithContentsOfURL:[NSURL URLWithString:resourcePath]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:_objectData error:&error];
audioPlayer.numberOfLoops = -1;
if (audioPlayer == nil)
NSLog([error description]);
else
[audioPlayer play];
}
答案 0 :(得分:14)
这应该有效:
NSURL *url = [NSURL URLWithString:@"<#Live stream URL#>];
// You may find a test stream at <http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8>.
self.playerItem = [AVPlayerItem playerItemWithURL:url];
//(optional) [playerItem addObserver:self forKeyPath:@"status" options:0 context:&ItemStatusContext];
self.player = [AVPlayer playerWithPlayerItem:playerItem];
self.player = [AVPlayer playerWithURL:<#Live stream URL#>];
//(optional) [player addObserver:self forKeyPath:@"status" options:0 context:&PlayerStatusContext];
使用以下代码播放音乐:
[self.player play];
答案 1 :(得分:5)
尝试以下方法:
-(void)viewDidLoad
{
[super viewDidLoad];
NSString* resourcePath = @"your url"; //your url
NSData *_objectData = [NSData dataWithContentsOfURL:[NSURL URLWithString:resourcePath]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithData:_objectData error:&error];
audioPlayer.numberOfLoops = 1;
if (audioPlayer == nil)
NSLog([error description]);
else
[audioPlayer play];
答案 2 :(得分:0)
当前答案:
现在考虑Why does AVAudioPlayer initWithContentsOfURL always fail with error code=-43链接。其解决方案是avplayer链接
早期答案
//You have to pass NSURL not NSData
NSString* resourcePath = @"http://192.167.1.104:8888/SHREYA.mp3"; //your url
NSURL *url = [NSURL alloc]initWithString:resourcePath];
audioPlayer = [[AVAudioPlayer alloc] initWithURL:url error:&error];
audioPlayer.delegate = self;
[url release];
[audioPlayer prepareToPlay];
[audioPlayer play];
答案 3 :(得分:0)
试试我的代码:
NSURL *filepath = [NSURL fileURLWithPath:audioFilePath];
[yourMediaPlayer setContentURL:filepath];
//set player.
yourMediaPlayer.controlStyle = MPMovieControlStyleNone;
yourMediaPlayer.currentPlaybackTime = 0;
yourMediaPlayer.shouldAutoplay = FALSE;
[yourMediaPlayer play];
^ - ^,我使用MPMoviePlayerController和上面的代码。
答案 4 :(得分:0)
我猜你要发送
audioPlayer.numberOfLoops = -1;
接收NSInvalidArgumentException将其更改为
audioPlayer.numberOfLoops = 1;
并查看apple的文档here