System Sound Services 播放音效

使用 System Sound Services方式只适合播放提示或者警告短小音频

声音长度不能超过30秒
声音文件必须是 PCM 或者是 IMA4(IMA/ADPCM) 格式。
必须是 .caf、.aif 、.wav 、的文件
不能控制播放进度
没有循环播放

iOS使用系统声音服务来支持三种不同的通知:

  1. 声音:立刻播放一个简单的声音文件。如果手机被设置为静音,用户什么也听不到
  2. 提醒:播放一个声音文件,如果手机被设置为静音或震动,将通过震动提醒用户
  3. 震动:震动手机,而不考虑其他设置

对于提醒音来说,与系统声音之间的差别在于,如果手机处于静音状态,提醒音将自动触发震动。提醒音的设置和用法与系统声音相同,区别在于系统声音调用 AudioServicesPlaySystemSound,而提醒音调用AudioServicesPlayAlertSound

调用AudioServicesCreateSystemSoundID(CFURLRef inFileURL,SystemSoundID* outSystemSoundID) 函数注册音频文件,第一个参数代表音频文件的URL(可通过NSURL 转换为CFURLRef),迭戈参数代表注册该音频的 SystemSoundID 。

当需要播放音频的时候,调用

AudioServicesPlaySystemSound(SystemSoundID inSystemSoundID)

立刻播放一个简单的声音文件。如果手机被设置为静音,用户什么也听不到

AudioServicesPlayAlertSound(SystemSoundID inSystemSoundID)

播放一个声音文件并震动,如果手机被设置为静音或震动(与用户在设置-声音响铃模式震动静音模式震动设置有关),那么将通过无提醒或震动提醒用户!

代码

首先 在项目中导入一个音频文件,注意是符合上述格式的音频

再导入头文件

#import <AudioToolbox/AudioToolbox.h>
复制代码

在ViewController.m 中

-(void)sound{SystemSoundID soundID;//NSBundle来返回音频文件路径NSString *soundFile = [[NSBundle mainBundle] pathForResource:@"dingdong" ofType:@"wav"];//建立SystemSoundID对象,但是这里要传地址(加&符号)。 第一个参数需要一个CFURLRef类型的url参数,要新建一个NSString来做桥接转换(bridge),而这个NSString的值,就是上面的音频文件路径AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:soundFile], &soundID);//播放提示音 带震动AudioServicesPlayAlertSound(soundID);//播放系统声音
//    AudioServicesPlaySystemSound(soundID);
}
复制代码

Demo地址:下载

iOS开发 System Sound Services(振动和提示音)相关推荐

  1. iOS系统声音服务(System Sound Services)

    系统声音服务(System Sound Services)提供了一个接口,用于播放不超过30秒的声音.它支持的文件格式有限,具体地说只有CAF.AIF和使用PCM或IMA/ADPCM数据的WAV文件. ...

  2. iOS开发:简单的Toast提示框实现

    今天小年,再分享一篇2018年度最后一篇博客,博主是以iOS开发出身,那就最后一篇博文就分享一下关于iOS的内容吧.iOS开发过程中,有些时候操作App的时候,需要给用户对应的响应提示操作,使用系统自 ...

  3. AudioContext开发后台管理系统新订单提示音(audio不能自动播放)

    audio 因为audio标签不能自动播放.需要用户和浏览器又交互才能实现播放.但是需求是不能显示播放器控件,只能有声音响起. AudioContext 使用AudioContext能解决该问题 wi ...

  4. iOS 12 修改微信提示音,无需越狱不用电脑,详细教程

    早已听腻了 iPhone 上面的微信提示音,丝毫没有个性,如何更换成其他声音呢?下面卡卡说一下如何在 iOS 12 系统下更改微信提示音 更多微信技巧: 微信地区DIY 教程:https://kkio ...

  5. iOS开发之音频播放AVAudioPlayer 类的介绍

    主要提供以下了几种播放音频的方法: 1. System Sound Services System Sound Services是最底层也是最简单的声音播放服务,调用 AudioServicesPla ...

  6. ios开发之音频视频开发

    一.音频播放方式 1.System Sound Services 2.AVAudioPlayer 3.Audio Queue Service 4.OpenAL 二.使用 1.System Sound ...

  7. installshield 安装文件属性的原始文件名 如何修改_iPhone修改微信提示音,iOS12可用,无需越狱详细教程...

    早已听腻了 iPhone 上面的微信提示音,丝毫没有个性,如何更换成其他声音呢?下面兽兽说一下如何在 iOS 12 系统下更改微信提示音 使用限制 先泼一盆冷水,并非所有的机型都可以用!! Filza ...

  8. 修改telnet提示并非_iPhone修改微信提示音,iOS12可用,无需越狱详细教程

    早已听腻了 iPhone 上面的微信提示音,丝毫没有个性,如何更换成其他声音呢?下面兽兽说一下如何在 iOS 12 系统下更改微信提示音 使用限制 先泼一盆冷水,并非所有的机型都可以用!! Filza ...

  9. iOS开发小结 - 播放系统提示音使用总结(AudioToolbox)

    开发过程中需要用到苹果自带的系统提示音,下面我总结了一下关于系统提示音播放的方法 第一步首先得导入AudioToolbox框架 #import <AudioToolbox/AudioToolbo ...

最新文章

  1. linux yield_linux内核的一些知识点(上)
  2. FPGA之道(26)VHDL初始化
  3. 计算机专业指南考试,电大计算机专业专科期末考试试卷《计算机专业指南》试卷...
  4. xss测试工具(xsstrike基于python)
  5. 序列化与反序列化(记住密码)
  6. BugkuCTF-MISC题baby_flag.txt
  7. kettle使用数据库来生成序列_kettle专题5:数据转换
  8. win10同时安装jdk8和jdk11带来的小坑
  9. (6)GPS坐标与UTM坐标的转换
  10. 什么软件可以测试电脑硬盘速度,硬盘速度测试软件
  11. Android实现图片(拍照+相册)上传功能
  12. 11.判断一个人出生了多少天
  13. 基于面部表情的情绪识别-论文学习
  14. 分享电脑便捷妙招,电脑小白们快码住
  15. 探索者 STM32F407 与 HC05 蓝牙模块相连
  16. Spring+SpringMVC+Mybatis简单整合 图书管理项目 实现增删改查
  17. 计算机网络第六、七版答案
  18. WebAPI搭建(一)如何在Webforms 下 搭建WebAPI
  19. docker 安装Subversion Edge
  20. 区块链+物联网技术结合,区块链技术应用开发解决方案

热门文章

  1. nucleo stlink 固件_【指南】如何用STM32核心板DIY STLink V2
  2. 如何用Python中Tushare包轻松完成股票筛选(详细流程操作)
  3. BGP联邦和团体的配置
  4. 一个“追跌卖涨”的股票筛选程序
  5. 转专业计算机的面试自我介绍,转专业面试自我介绍范文
  6. java 栈的基本介绍
  7. PS学习之绘制圆角半圆
  8. SpringBoot学习笔记总结——动力节点
  9. string.h 或 cstring 头文件包含的字符串操纵函数查询
  10. 记录解决cmd打不开/闪退