欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

IOS 播放系统提示音使用总结(AudioToolbox)

程序员文章站 2024-02-12 15:55:16
ios 播放系统提示音使用总结(audiotoolbox) 开发过程中需要用到苹果自带的系统提示音,下面我总结了一下关于系统提示音播放的方法 第一步首先得导入aud...

ios 播放系统提示音使用总结(audiotoolbox)

开发过程中需要用到苹果自带的系统提示音,下面我总结了一下关于系统提示音播放的方法

第一步首先得导入audiotoolbox框架

#import <audiotoolbox/audiotoolbox.h>

播放系统自带的提示声

播放系统自带的提示声很简单,只需要两行代码就能搞定了:

//定义一个systemsoundid
 systemsoundid soundid = 1000;//具体参数详情下面贴出来
 //播放声音
 audioservicesplaysystemsound(soundid);

关于systemsoundid的相关参数介绍和系统所有的铃声的介绍

播放自定义的提示声,既有声音也带振动

- (void)playnotifysound {
 //获取路径
 nsstring *path = [[nsbundle mainbundle] pathforresource:@"candonotifysound" oftype:@"mp3"];
 //定义一个systemsoundid
 systemsoundid soundid;
 //判断路径是否存在
 if (path) {
  //创建一个音频文件的播放系统声音服务器
  osstatus error = audioservicescreatesystemsoundid((__bridge cfurlref _nonnull)([nsurl fileurlwithpath:path]), &soundid);
  //判断是否有错误
  if (error != kaudioservicesnoerror) {
   nslog(@"%d",(int)error);
  }
 }
 //播放声音和振动
 audioservicesplayalertsoundwithcompletion(soundid, ^{
  //播放成功回调
 });
}

只有振动没有声音

 //手机只振动没声音
 audioservicesplaysystemsound(ksystemsoundid_vibrate);

只有声音不带振动

//必须得是自定义的声音,经过测试系统的声音好像都带振动
- (void)playnotifysound {
 //获取路径
 nsstring *path = [[nsbundle mainbundle] pathforresource:@"candonotifysound" oftype:@"mp3"];
 //定义一个带振动的systemsoundid
 systemsoundid soundid = 1000;
 //判断路径是否存在
 if (path) {
  //创建一个音频文件的播放系统声音服务器
  osstatus error = audioservicescreatesystemsoundid((__bridge cfurlref _nonnull)([nsurl fileurlwithpath:path]), &soundid);
  //判断是否有错误
  if (error != kaudioservicesnoerror) {
   nslog(@"%d",(int)error);
  }
 }
 //只播放声音,没振动
 audioservicesplaysystemsound(soundid);
}

上面是我关于提示声使用的一些技巧,希望大家能学到东西,如果有不足希望大家给予补充,谢谢阅读!