遇到的项目需要从网络上获取音频的URL,循环播放,找了很长时间,很少这类文章,既然已经把这问题解决了,就记下来
引入 #import <AVFoundation/AVFoundation.h>
@property (nonatomic, strong)AVPlayer *musicPlayer;
@property (nonatomic, strong)NSURL *musicUrl;
在请求音频成功的网络请求里
NSURL* url = [NSURLURLWithString:urlStr];
self.musicUrl= url;
AVPlayerItem* songItem = [[AVPlayerItemalloc]initWithURL:url];
self.musicPlayer= [[AVPlayeralloc]initWithPlayerItem:songItem];
self.musicPlayer.volume=0.5;
[self.musicPlayer play];
在 viewDidLoad 添加通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackFinished:) name:AVPlayerItemDidPlayToEndTimeNotification object:self.musicPlayer.currentItem];
在接收通知的方法里添加
-(void)playbackFinished:(NSNotification*)noti{
AVPlayerItem* songItem = [[AVPlayerItemalloc]initWithURL:self.musicUrl];
self.musicPlayer = [[AVPlayer alloc]initWithPlayerItem:songItem];
self.musicPlayer.volume = 0.5;
[self.musicPlayer play];
}