iOS 之播放系统声音
导入框架:
代码:
- #import <UIKit/UIKit.h>
- #import <AudioToolbox/AudioToolbox.h>
- @interface MsgPlaySound : NSObject
- {
- SystemSoundID sound;//系统声音的id 取值范围为:1000-2000
- }
- - (id)initSystemShake;//系统 震动
- - (id)initSystemSoundWithName:(NSString *)soundName SoundType:(NSString *)soundType;//初始化系统声音
- - (void)play;//播放
- @end
- #import "MsgPlaySound.h"
- @implementation MsgPlaySound
- - (id)initSystemShake
- {
- self = [super init];
- if (self) {
- sound = kSystemSoundID_Vibrate;//震动
- }
- return self;
- }
- - (id)initSystemSoundWithName:(NSString *)soundName SoundType:(NSString *)soundType
- {
- self = [super init];
- if (self) {
- NSString *path = [NSString stringWithFormat:@"/System/Library/Audio/UISounds/%@.%@",soundName,soundType];
- //[[NSBundle bundleWithIdentifier:@"com.apple.UIKit" ]pathForResource:soundName ofType:soundType];//得到苹果框架资源UIKit.framework ,从中取出所要播放的系统声音的路径
- //[[NSBundle mainBundle] URLForResource: @"tap" withExtension: @"aif"]; 获取自定义的声音
- if (path) {
- OSStatus error = AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path],&sound);
- if (error != kAudioServicesNoError) {//获取的声音的时候,出现错误
- sound = nil;
- }
- }
- }
- return self;
- }
- - (void)play
- {
- AudioServicesPlaySystemSound(sound);
- }
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 之播放系统声音的更多相关文章
- OSX/iOS 播放系统声音
方法1: 系统会自带了些声音,有时候一些操作用必要自己播放一下声音提醒一下,用bash的直接say something就ok了,写代码的时候呢?原来很简单的,一句: [[NSSound soundNa ...
- iOS播放系统声音和震动
在需要声音的类的.h文件中添加 #import <AudioToolbox/AudioToolbox.h>static SystemSoundID shake_sound_male ...
- iOS 实现后台 播放音乐声音 AVAudioPlayer 以及铃声设置(循环播放震动)
1.步骤一:在Info.plist中,添加"Required background modes"键,value为:App plays audio 或者: 步骤二: - (BOOL) ...
- iOS系统声音服务(System Sound Services)
系统声音服务(System Sound Services)提供了一个接口,用于播放不超过30秒的声音.它支持的文件格式有限,具体地说只有CAF.AIF和使用PCM或IMA/ADPCM数据的WAV文件. ...
- ios开发——实用技术篇Swift篇&系统声音
系统声音 // MARK: - 系统声音 /*----- 系统声音 ------*/ @IBAction func systemSound() { //建立的SystemSoundID对象 var s ...
- iOS调用系统声音与振动
如何调用系统声音?[iphone 调用系统铃声与震动功能] 首先要在工程里加入Audio Toolbox framework这个库,然后在需要调用的文件里#import <AudioToolbo ...
- iOS 接收新消息通知调用系统声音 震动
添加系统框架: #import <AudioToolbox/AudioToolbox.h> 调用震动代码: AudioServicesPlaySystemSound(kSystemSoun ...
- iOS系统声音列表
iOS系统声音列表 效果 说明 1. 点击cell就能发出声音 2. 只需要给出声音编号,就可以,非常简单易用 源码 https://github.com/YouXianMing/iOS-Utilit ...
- iOS AVAudioPlayer播放音频时声音太小
iOS AVAudioPlayer播放音频时声音太小 //引入AVFoundation类库,设置播放模式就可以了 do { try AVAudioSession.sharedInstance().ov ...
随机推荐
- Android 常用开发类库
android.app :提供高层的程序模型.提供基本的运行环境 android.content :包含各种的对设备上的数据进行访问和发布的类 android.database :通过内容 ...
- android项目的的目录结构
然后我们看一下Helloword的程序目录: 我们可以看到 大致有的文件: 1. MainHelloWorld.java文件 2. R.java文件 3. android.jar文件 4. RES.L ...
- oracle11g ora-12514监听程序当前无法识别
环境:win7_x64 ,oracle11g 描写叙述:1第一天没问题,第二天就不能连接: 2:pl sql developer连接工具,自己安装的oracle数据库,又装了client 3:装了or ...
- 解决.net中截取字符串的汉字与数字还有静态扩展方法
转载 http://blog.163.com/cn_dreamgo/blog/static/52679452200961033212407/ 这两天在C#编程中应用到C#代码与C的代码信息交互,但 ...
- <转>LINQ To SQL 语法及实例大全
一篇很全很强大的linq to sql 总结 来源:http://blog.csdn.net/pan_junbiao/article/details/7015633 目录(?)[-] LINQ to ...
- 53个Oracle语句优化规则详解(转)
Oracle sql 性能优化调整 1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种:a. RULE (基于规则) b. COST (基于成本) c. CHOOSE ...
- Javascript闭包概念剖析
某种情况下,函数调用依然持有对其原始定义的作用域的引用,这个引用就叫做闭包. function foo(){ var a = 2; function bar(){ console.log(a); } ...
- 星际SC 地图 Big Game Fort 要塞之战 修正了 BIG GAME 地图的平衡性
星际SC 地图 Big Game Fort 要塞之战 修正了 BIG GAME 地图的平衡性 也适合BIG 1V1 对战 此版本目前不开放1打1造功能
- linux系统性能监控常用命令
一.Linux服务器性能关注点 1)CPU -> load:表示cpu在一段时间内正在处理以及等待处理的任务之和统计信息,简单可理解为cpu正处理的线程数和能同时处理的线程数的比值.一般认为 ...
- JAVA泛型实现一个堆栈类
package com.xt.test; /** * 泛型实现堆栈,thinking in java中的例子 * * @author Administrator * * @param <T> ...