现在的位置: 首页 > 综合 > 正文

简单的音频警告 iphone开发

2018年02月14日 ⁄ 综合 ⁄ 共 1049字 ⁄ 字号 评论关闭

之前写过一篇播放音乐的,这次来是是实现简单的音频警告。

有时候,我们需要播放一些音频警告来通知用户,提醒用户。

首先我们找一个警告的音频,音频格式只能是AIFF,CAF,WAV几种。

1)将音频格式的路径转换成一个CFURLRef

  NSString  * path = [[NSBundlemainBundle]
pathForResource:@"warn"ofType:@"wav"];

  NSURL *url = [[NSURLalloc]
initFileURLWithPath:path];

 CFURLRef urlRef = (CFURLRef) url;

2)“授权”,允许应用程序指定一个音频文件播放系统声音

AudioServicesCreateSystemSoundID(urlRef, &mySoundID);

3)属性设置

 初始化一些音频属性值:

 SystemSoundID mySoundID = 0;

 AudioServicesPropertyID flag = 1;

说明:

flag的取值0和1.对后面的设置是有影响的。

kAudioServicesPropertyIsUISound和kAudioServicesPropertyCompletePlaybackIfAppDies与flag的取值有关。大概就是取0时表示如果正在播放其它音乐,不会终止正在播放的其它音乐,两个声音一起播放。

为1示如果正在播放音乐,则先终止一下音乐,再播放铃音,之后再恢复音乐的播放

设置的第一种方法:

AudioServicesSetProperty(kAudioServicesPropertyIsUISoundsizeof(SystemSoundID),
&mySoundID, 
sizeof(AudioServicesPropertyID), &flag);

设置的二种方法:

AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultToSpeaker,sizeof(AudioServicesPropertyID),
&flag);

最后播放

AudioServicesPlayAlertSound(mySoundID);


OK,通过上面几步,就可以自定义通过系统播放警告音了。

其实,对AudioServicesSetProperty和AudioSessionSetProperty这两种设置方法,有什么区别暂时还不是很清楚。

哪位知道的话可以留言说明下,嘻嘻

【上篇】
【下篇】

抱歉!评论已关闭.