iOS简单的音乐播放 声音播放

简单的音乐播放 导入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);


你可能感兴趣的:(声音播放,iOS简单的音乐播放)