简述
AVPlay既可以用来播放音频也可以用来播放视频,AVPlay在播放音频方面可以直接用来播放网络上的音频。在使用AVPlay的时候我们需要引入头文件
#import<AVFoundation/AVFoundation.h>
AVPlayer —— 音频播放
1. 首先导入头文件 #import<AVFoundation/AVFoundation.h>以及声明属性player和播放按钮playbutton
#import <AVFoundation/AVFoundation.h>
@property (nonatomic,strong) AVPlayer *player;
@property (nonatomic, retain) UIButton *playButton;
2.播放按钮的设置
代码实现
// 播放的button
self.playButton = [UIButton buttonWithType:UIButtonTypeSystem];
self.playButton.frame = CGRectMake(120,550,52,55);
[self.playButton setBackgroundImage:[UIImage imageNamed:@"播放"] forState:UIControlStateNormal];
[self.playButton addTarget:self action:@selector(playorpause:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:self.playButton];
播放按钮的响应事件playorpause
#pragma mark - 播放或者暂停
- (void)playorpause:(UIButton *)button {
self.isPlay = !self.isPlay;
if(self.isPlay){
[button setBackgroundImage:[UIImage imageNamed:@"播放"] forState:UIControlStateNormal];
//player播放音频
[self.player play];
}
else{
[button setBackgroundImage:[UIImage imageNamed:@"暂停"] forState:UIControlStateNormal];
//停止播放音频
[self.player pause];
}
}
效果图
3.player ——导入音频文件
下述代码的实现建议是从下往上,层层递进(写的时候代码里面是有提示的,不懂的话大家实操一下就明白我意思啦)
我解释一下代码:(从下往上理解)就是播放器player需要导入音频项目playerItem,而音频项目里面需要导入音频资源url,而音频资源里面需要导入音频路径path
//创建一个播放器
//musicPlay是原本传好的歌名,类似于musicplay = @"innocence.mp3"
NSString *path = [[NSBundle mainBundle]pathForResource:musicPlay ofType:nil];
NSURL *url = [NSURL fileURLWithPath:path];
AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithURL:url];
self.player = [[AVPlayer alloc] initWithPlayerItem:playerItem];