导入框架:

代码:

  1. #import <UIKit/UIKit.h>
  2. #import <AudioToolbox/AudioToolbox.h>
  3. @interface MsgPlaySound : NSObject
  4. {
  5. SystemSoundID sound;//系统声音的id 取值范围为:1000-2000
  6. }
  7. - (id)initSystemShake;//系统 震动
  8. - (id)initSystemSoundWithName:(NSString *)soundName SoundType:(NSString *)soundType;//初始化系统声音
  9. - (void)play;//播放
  10. @end
  1. #import "MsgPlaySound.h"
  2. @implementation MsgPlaySound
  3. - (id)initSystemShake
  4. {
  5. self = [super init];
  6. if (self) {
  7. sound = kSystemSoundID_Vibrate;//震动
  8. }
  9. return self;
  10. }
  11. - (id)initSystemSoundWithName:(NSString *)soundName SoundType:(NSString *)soundType
  12. {
  13. self = [super init];
  14. if (self) {
  15. NSString *path = [NSString stringWithFormat:@"/System/Library/Audio/UISounds/%@.%@",soundName,soundType];
  16. //[[NSBundle bundleWithIdentifier:@"com.apple.UIKit" ]pathForResource:soundName ofType:soundType];//得到苹果框架资源UIKit.framework ,从中取出所要播放的系统声音的路径
  17. //[[NSBundle mainBundle] URLForResource: @"tap" withExtension: @"aif"];  获取自定义的声音
  18. if (path) {
  19. OSStatus error = AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path],&sound);
  20. if (error != kAudioServicesNoError) {//获取的声音的时候,出现错误
  21. sound = nil;
  22. }
  23. }
  24. }
  25. return self;
  26. }
  27. - (void)play
  28. {
  29. AudioServicesPlaySystemSound(sound);
  30. }

apple系统默认声音名称说明:(此说明来自于http://bbs.weiphone.com/read-htm-tid-6262661.html

1.声音格式是MP3或m4r的需要转成caf格式(可先转成aif , aiff,然后修改后缀)
2.路径在/System/Library/Audio/UISounds 里,需要更改的可以根据以下列表进行替换
3详细列表:
信息 
ReceivedMessage.caf--收到信息,仅在短信界面打开时播放。 
sms-received1.caf-------三全音 
sms-received2.caf-------管钟琴 
sms-received3.caf-------玻璃 
sms-received4.caf-------圆号 
sms-received5.caf-------铃声 
sms-received6.caf-------电子乐 
SentMessage.caf--------发送信息

邮件 
mail-sent.caf----发送邮件 
new-mail.caf-----收到新邮件

电话 
dtmf-0.caf----------拨号面板0按键 
dtmf-1.caf----------拨号面板1按键 
dtmf-2.caf----------拨号面板2按键 
dtmf-3.caf----------拨号面板3按键 
dtmf-4.caf----------拨号面板4按键 
dtmf-5.caf----------拨号面板5按键 
dtmf-6.caf----------拨号面板6按键 
dtmf-7.caf----------拨号面板7按键 
dtmf-8.caf----------拨号面板8按键 
dtmf-9.caf----------拨号面板9按键 
dtmf-pound.caf---拨号面板#按键 
dtmf-star.caf------拨号面板*按键 
Voicemail.caf-----新语音邮件

输入设备声音提示 
Tock.caf-----------------------点击键盘 
begin_record.caf-----------开始录音 
begin_video_record.caf--开始录像 
photoShutter.caf------------快门声 
end_record.caf--------------结束录音 
end_video_record.caf-----结束录像

其他 
beep-beep.caf--充电、注销及连接电脑 
lock.caf------------锁定手机 
shake.caf---------“这个还没搞清楚” 
unlock.caf--------滑动解锁 
low_power.caf--低电量提示

语音控制 
jbl_ambiguous.caf--找到多个匹配 
jbl_begin.caf------等待用户的输入 
jbl_cancel.caf-----取消 
jbl_confirm.caf----执行 
jbl_no_match.caf---没有找到匹配

日历 
alarm.caf--日历提醒

iPod Touch 1G 
sq_alarm.caf 
sq_beep-beep.caf 
sq_lock.caf 
sq_tock.caf

iOS 之播放系统声音的更多相关文章

  1. OSX/iOS 播放系统声音

    方法1: 系统会自带了些声音,有时候一些操作用必要自己播放一下声音提醒一下,用bash的直接say something就ok了,写代码的时候呢?原来很简单的,一句: [[NSSound soundNa ...

  2. iOS播放系统声音和震动

    在需要声音的类的.h文件中添加     #import <AudioToolbox/AudioToolbox.h>static SystemSoundID shake_sound_male ...

  3. iOS 实现后台 播放音乐声音 AVAudioPlayer 以及铃声设置(循环播放震动)

    1.步骤一:在Info.plist中,添加"Required background modes"键,value为:App plays audio 或者: 步骤二: - (BOOL) ...

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

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

  5. ios开发——实用技术篇Swift篇&系统声音

    系统声音 // MARK: - 系统声音 /*----- 系统声音 ------*/ @IBAction func systemSound() { //建立的SystemSoundID对象 var s ...

  6. iOS调用系统声音与振动

    如何调用系统声音?[iphone 调用系统铃声与震动功能] 首先要在工程里加入Audio Toolbox framework这个库,然后在需要调用的文件里#import <AudioToolbo ...

  7. iOS 接收新消息通知调用系统声音 震动

    添加系统框架: #import <AudioToolbox/AudioToolbox.h> 调用震动代码: AudioServicesPlaySystemSound(kSystemSoun ...

  8. iOS系统声音列表

    iOS系统声音列表 效果 说明 1. 点击cell就能发出声音 2. 只需要给出声音编号,就可以,非常简单易用 源码 https://github.com/YouXianMing/iOS-Utilit ...

  9. iOS AVAudioPlayer播放音频时声音太小

    iOS AVAudioPlayer播放音频时声音太小 //引入AVFoundation类库,设置播放模式就可以了 do { try AVAudioSession.sharedInstance().ov ...

随机推荐

  1. Android 常用开发类库

    android.app :提供高层的程序模型.提供基本的运行环境    android.content :包含各种的对设备上的数据进行访问和发布的类    android.database :通过内容 ...

  2. android项目的的目录结构

    然后我们看一下Helloword的程序目录: 我们可以看到 大致有的文件: 1. MainHelloWorld.java文件 2. R.java文件 3. android.jar文件 4. RES.L ...

  3. oracle11g ora-12514监听程序当前无法识别

    环境:win7_x64 ,oracle11g 描写叙述:1第一天没问题,第二天就不能连接: 2:pl sql developer连接工具,自己安装的oracle数据库,又装了client 3:装了or ...

  4. 解决.net中截取字符串的汉字与数字还有静态扩展方法

      转载 http://blog.163.com/cn_dreamgo/blog/static/52679452200961033212407/ 这两天在C#编程中应用到C#代码与C的代码信息交互,但 ...

  5. <转>LINQ To SQL 语法及实例大全

    一篇很全很强大的linq to sql 总结 来源:http://blog.csdn.net/pan_junbiao/article/details/7015633 目录(?)[-] LINQ to ...

  6. 53个Oracle语句优化规则详解(转)

    Oracle sql 性能优化调整  1. 选用适合的ORACLE优化器        ORACLE的优化器共有3种:a. RULE (基于规则)   b. COST (基于成本) c. CHOOSE ...

  7. Javascript闭包概念剖析

    某种情况下,函数调用依然持有对其原始定义的作用域的引用,这个引用就叫做闭包. function foo(){ var a = 2; function bar(){ console.log(a); } ...

  8. 星际SC 地图 Big Game Fort 要塞之战 修正了 BIG GAME 地图的平衡性

    星际SC 地图 Big Game Fort 要塞之战 修正了 BIG GAME 地图的平衡性 也适合BIG 1V1 对战 此版本目前不开放1打1造功能

  9. linux系统性能监控常用命令

      一.Linux服务器性能关注点 1)CPU -> load:表示cpu在一段时间内正在处理以及等待处理的任务之和统计信息,简单可理解为cpu正处理的线程数和能同时处理的线程数的比值.一般认为 ...

  10. JAVA泛型实现一个堆栈类

    package com.xt.test; /** * 泛型实现堆栈,thinking in java中的例子 * * @author Administrator * * @param <T> ...