清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
简单的音乐播放 导入AVFoundation.framework
- (void)viewDidLoad
{
[super viewDidLoad];
//路径
NSString* path = [[NSBundle mainBundle] pathForResource:@"xiguan" ofType:@"mp3"];
//路径->url
NSURL* url = [NSURL fileURLWithPath:path];
_player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
//准备播放
[_player prepareToPlay];
//支持变速
_player.enableRate = YES;
//峰值 平均值
_player.meteringEnabled = YES;
}
//进度
- (IBAction)proSlider:(id)sender{
//当前时间=总时间*slider.value;
float currentTime = _player.duration * _proSlider.value;
[_player setCurrentTime:currentTime];
}
//声道
- (IBAction)panSlider:(id)sender{
_player.pan = _panSlider.value;
}
//速度
- (IBAction)speedSlider:(id)sender{
_player.rate = _speedSlider.value;
}
//声音
- (IBAction)volSlier:(id)sender{
_player.volume = _volSlider.value;
}
- (void)play:(id)sender{
[_player play];
//播放时候开启定时器
_timer = [NSTimer scheduledTimerWithTimeInterval:1/60.0 target:self selector:@selector(refresh) userInfo:nil repeats:YES];
}
- (void)pause:(id)sender{
[_player pause];
//暂定的时候定时器失效
[_timer invalidate];
}
- (void)refresh{
//当前时间/总时间
float pro = _player.currentTime / _player.duration;
[_proSlider setValue:pro animated:YES];
//刷新峰值平均值
[_player updateMeters];
float peak = ([_player peakPowerForChannel:0] + 50) / 50;
float ave = ([_player averagePowerForChannel:0] + 50) / 50;
[_proV setProgress:peak animated:YES];
[_proV2 setProgress:ave animated:YES];
}
/////播放系统声音
SystemSoundID myAlertSound;
NSURL *url = [NSURL URLWithString:@"/System/Library/Audio/UISounds/alarm.caf"];
/*
low_power.caf alarm.caf SentMessage.caf
*/
AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url), &myAlertSound);
AudioServicesPlaySystemSound(myAlertSound);