Ios 使用AVAudioPlayer从URL播放音频

Ios 使用AVAudioPlayer从URL播放音频,ios,objective-c,iphone,xcode,avaudioplayer,Ios,Objective C,Iphone,Xcode,Avaudioplayer,我正在播放下面给出的URL中的音频 NSString *urlString = @"http://sumeetmusiclocal.wsisites.net/Songs/Kashyala Lavato (Lavani).mp3"; NSURL *audioFileLocationURL = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; NSErr

我正在播放下面给出的URL中的音频

NSString *urlString = @"http://sumeetmusiclocal.wsisites.net/Songs/Kashyala Lavato (Lavani).mp3";
NSURL *audioFileLocationURL = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioFileLocationURL error:&error];
[audioPlayer setNumberOfLoops:-1];

if (error) {
    NSLog(@"%@", [error localizedDescription]);

    [[self volumeControl] setEnabled:NO];
    [[self playPauseButton] setEnabled:NO];

    [[self alertLabel] setText:@"Unable to load file"];
    [[self alertLabel] setHidden:NO];
} else {
    [[self alertLabel] setText:[NSString stringWithFormat:@"%@ has loaded", @"HeadspinLong.caf"]];
    [[self alertLabel] setHidden:NO];

    //Make sure the system follows our playback status
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
    [[AVAudioSession sharedInstance] setActive: YES error: nil];

    //Load the audio into memory
    [audioPlayer prepareToPlay];
}
“拉瓦托(拉瓦尼).mp3”

使用下面给出的代码

NSString *urlString = @"http://sumeetmusiclocal.wsisites.net/Songs/Kashyala Lavato (Lavani).mp3";
NSURL *audioFileLocationURL = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioFileLocationURL error:&error];
[audioPlayer setNumberOfLoops:-1];

if (error) {
    NSLog(@"%@", [error localizedDescription]);

    [[self volumeControl] setEnabled:NO];
    [[self playPauseButton] setEnabled:NO];

    [[self alertLabel] setText:@"Unable to load file"];
    [[self alertLabel] setHidden:NO];
} else {
    [[self alertLabel] setText:[NSString stringWithFormat:@"%@ has loaded", @"HeadspinLong.caf"]];
    [[self alertLabel] setHidden:NO];

    //Make sure the system follows our playback status
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
    [[AVAudioSession sharedInstance] setActive: YES error: nil];

    //Load the audio into memory
    [audioPlayer prepareToPlay];
}
但我说的是错误的

Printing description of error:
Error Domain=NSOSStatusErrorDomain Code=2003334207 "(null)"
2016-03-08 12:43:45.835 SumeetApp[1839:78581] The operation couldn’t be completed. (OSStatus error 2003334207.)
任何人都可以帮助我解决这个错误或建议我从url播放音频的其他方式

谢谢

试试这个

NSURL *url = [NSURL URLWithString:@"YOUR_MP3URL"];
self.playerItem = [AVPlayerItem playerItemWithURL:url];
self.player = [AVPlayer playerWithPlayerItem:playerItem];
self.player = [AVPlayer playerWithURL:@"YOUR_MP3URL"];
AVURLAsset *asset = [AVURLAsset assetWithURL:[NSURL URLWithString:@"http://clips.vorwaerts-gmbh.de/VfE_html5.mp4"]];

AVPlayerItem *playerItem1 = [AVPlayerItem playerItemWithAsset:asset];
AVPlayer *player1 = [AVPlayer playerWithPlayerItem:playerItem1];
AVPlayerLayer *playerLayer1 = [AVPlayerLayer playerLayerWithPlayer:player1];
playerLayer1.videoGravity = AVLayerVideoGravityResizeAspectFill;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    playerLayer1.frame = self.view.frame;
});

[self.view.layer insertSublayer:playerLayer1 atIndex:1];
[player1 play];

[self.player play];

希望这有帮助。

对于错误:

您正在尝试访问一个不存在的文件

因此,
initWithContentsOfURL:audioFileLocationURL
将返回
nil

播放音频:

NSURL *url = [NSURL URLWithString:@"<URL>];


    self.playerItem = [AVPlayerItem playerItemWithURL:url];

    self.player = [AVPlayer playerWithPlayerItem:playerItem];

    self.player = [AVPlayer playerWithURL:<URL>];

   [player play];
NSURL*url=[NSURL-URLWithString:@“];
self.playerItem=[AVPlayerItem playerItemWithURL:url];
self.player=[AVPlayer playerWithPlayerItem:playerItem];
self.player=[AVPlayer playerWithURL:];
[玩家游戏];
试试这个

NSURL *url = [NSURL URLWithString:@"YOUR_MP3URL"];
self.playerItem = [AVPlayerItem playerItemWithURL:url];
self.player = [AVPlayer playerWithPlayerItem:playerItem];
self.player = [AVPlayer playerWithURL:@"YOUR_MP3URL"];
AVURLAsset *asset = [AVURLAsset assetWithURL:[NSURL URLWithString:@"http://clips.vorwaerts-gmbh.de/VfE_html5.mp4"]];

AVPlayerItem *playerItem1 = [AVPlayerItem playerItemWithAsset:asset];
AVPlayer *player1 = [AVPlayer playerWithPlayerItem:playerItem1];
AVPlayerLayer *playerLayer1 = [AVPlayerLayer playerLayerWithPlayer:player1];
playerLayer1.videoGravity = AVLayerVideoGravityResizeAspectFill;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    playerLayer1.frame = self.view.frame;
});

[self.view.layer insertSublayer:playerLayer1 atIndex:1];
[player1 play];
希望这对你有用

AVPlayer *player = [[AVPlayer alloc]initWithURL:[NSURL URLWithString:@"http://sumeetmusiclocal.wsisites.net/Songs/Kashyala Lavato (Lavani).mp3"]];  
[player play];
试试这个代码,这对我有用