iOS音频播放

方式一:使用AVAudioPlayer播放音乐

特点:自定制化程度高
注意点:
AVAudioPlayer 需要设置成全局的, 否则会被过早释放,而无法播放

 NSError *error = nil;
    NSString *outPutFilePath = [[NSBundle mainBundle]pathForResource:@"一" ofType:@"mp3"];
    _audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:outPutFilePath] error:&error];
    if (error) {
        NSLog(@"-------%@",error);
    }
    [_audioPlayer play];

方式二: 使用System Sound Services播放简短音频

特点:声音长度不能超过30s, 支持格式较少, 用于播放一些提示音或警告音

//MARK:播放本地音频
- (void)playLocaVoiceClick{
    // 1. 定义要播放的音频文件的URL
    NSURL *voiceURL = [[NSBundle mainBundle]URLForResource:@"unbelievable" withExtension:@"caf"];
    // 2. 注册音频文件(第一个参数是音频文件的URL 第二个参数是音频文件的SystemSoundID)
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)(voiceURL),&ditaVoice);
    // 3. 为crash播放完成绑定回调函数
//    AudioServicesAddSystemSoundCompletion(ditaVoice,NULL,NULL,(void*)completionCallback,NULL);
//    AudioServicesAddSystemSoundCompletion(ditaVoice, NULL, NULL, NULL, NULL);
    // 4. 播放 ditaVoice 注册的音频 并控制手机震动
//    AudioServicesPlayAlertSound(ditaVoice);
    //    AudioServicesPlaySystemSound(ditaVoice);
    //    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); // 控制手机振动
    
AudioServicesPlayAlertSoundWithCompletion(ditaVoice,^{AudioServicesDisposeSystemSoundID(ditaVoice);
    
    NSLog(@"播放完成");
    
});
    
}

方式三: MPMusicPlayerController

转自: https://www.zybuluo.com/kezhen/note/136614

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • title : iOS音频播放的几种方式category : IOS iOS音频播放的几种方式 标签(空格分隔)...
    袁俊亮技术博客阅读 35,614评论 5 17
  • 引言: 在iOS中音频按照播放形式可以分为音效播放和音乐播放。音效主要指的是一些短音频,通常作为点缀音频,如游戏中...
    sxyxsp123阅读 13,507评论 2 13
  • 所有的iOS App都具有默认的音频会话,它定义了以下行为:可以播放音频,但是不能录制音频。静音模式下App播放的...
    彬至睢阳阅读 9,882评论 5 5
  • 本篇为《iOS音频播放》系列的第一篇,主要将对iOS下实现音频播放的方法进行概述。 基础 先来简单了解一下一些基础...
    评评分分阅读 5,568评论 0 19
  • 坐在二楼,虽然离舞台看上去不是那么遥远,但是二楼相比效果大打折扣吧。没有我想象中那么好。每匹战马果然是由三个人控制...
    shamumu阅读 5,873评论 0 1

友情链接更多精彩内容