微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

- (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);

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐