1,系统声音服务介绍:
系统声音服务提供了一个Api,用于播放不超过30秒的声音。它支持的文件格式有限,具体的说只有CAF、AIF和使用PCM或IMA/ADPCM数据的WAV文件。
但此函数没有提供操作声音和控制音量的功能,因此如果是要为多媒体或游戏创建专门声音,就不要使用系统声音服务。
2,系统声音服务支持如下三种类型:
(1)声音:立刻播放一个简单的声音文件。如果手机静音,则用户什么也听不见。
(2)提醒:播放一个声音文件,如果手机设为静音或震动,则通过震动提醒用户。
(3)震动:震动手机,而不考虑其他设置。
3,使用样例(首先类中要引入AudioToolbox)
1
|
import
AudioToolbox
|
(1)声音播放
1
2
3
4
5
6
7
8
9
10
11
12
|
@IBAction
func
systemSound(sender:
AnyObject
) {
//建立的SystemSoundID对象
var
soundID:
SystemSoundID
= 0
//获取声音地址
var
path =
NSBundle
.mainBundle().pathForResource(
"msg"
, ofType:
"wav"
)
//地址转换
var
baseURL =
NSURL
(fileURLWithPath: path!)
//赋值
AudioServicesCreateSystemSoundID
(baseURL, &soundID)
//播放声音
AudioServicesPlaySystemSound
(soundID)
}
|
(2)提醒
1
2
3
4
5
6
7
8
9
10
11
12
|
@IBAction
func
systemAlert(sender:
AnyObject
) {
//建立的SystemSoundID对象
var
soundID:
SystemSoundID
= 0
//获取声音地址
var
path =
NSBundle
.mainBundle().pathForResource(
"msg"
, ofType:
"wav"
)
//地址转换
var
baseURL =
NSURL
(fileURLWithPath: path!)
//赋值
AudioServicesCreateSystemSoundID
(baseURL, &soundID)
//提醒(同上面唯一的一个区别)
AudioServicesPlayAlertSound
(soundID)
}
|
(3)振动
1
2
3
4
5
6
|
@IBAction
func
systemVibration(sender:
AnyObject
) {
//建立的SystemSoundID对象
var
soundID =
SystemSoundID
(kSystemSoundID_Vibrate)
//振动
AudioServicesPlaySystemSound
(soundID)
}
|