使用System Sound Services 播放音效(最简单,比较底层),调用AudioServicesPlaySystemSound()...

1、适用范围:一些很小的提示或警告音频。

2、使用限制:

声音长度不能超过30秒

声音文件必须是PCM或IMA4(IMA/ADPCM)格式。(有时候可播放一些特殊的.mp3)

打包成.caf、.aif或.wav文件

不能控制播放进度

调用方法后立即播放声音

没有循环播放和立体声播放控制。

3、AudioServicesPlaySystemSound()还可以调用系统的震动功能

4、可以用AudioServicesAddSystemSoundCompletion()函数增加CallBack函数来支持循环播放

5、播放音乐操作步骤

a、调用AudioServicesCreateSystemSoundID(CFURLRef inFileURL, SystemSoundID *outSystem SoundID)函数注册音频文件

b、若需要播放完成后进行某些操作,可调用AudiServicesAddSystemSoundCompletion()函数为指定的SoundID注册CallBack函数。

c、调用AudiServicesPlaySystemSound() // 播放音频

    调用AudiServicesPlayAlertSound// 播放音频的同步调用系统的震动功能

6、代码演示

#import "ViewController.h"
#import <AudioToolbox/AudioToolbox.h>

static void completionCallback(SystemSoundID mySSID)
{
    // 播放完毕之后,再次播放
    AudioServicesPlaySystemSound(mySSID);
}
@implementation ViewController
SystemSoundID crash;
- (void)viewDidLoad
{
    [super viewDidLoad];
    // 定义要播放的音频文件的URL
    NSURL* crashUrl = [[NSBundle mainBundle]
                       URLForResource:@"crash" withExtension:@"wav"];
    // 加载音效文件
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)crashUrl , &crash);
    // 为crash播放完成绑定回调函数
    AudioServicesAddSystemSoundCompletion(crash, NULL, NULL,
        (void*)completionCallback ,NULL);
}
- (IBAction)play:(id)sender {
    //    // 播放crash代表的音频
    AudioServicesPlaySystemSound(crash);
    // 播放crash代表的音频,并控制设备震动
//    AudioServicesPlayAlertSound(crash);
}
@end

 

转载于:https://www.cnblogs.com/songxing10000/p/5074127.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值