Swift - 系统声音服务的使用(播放声音,提醒,震动)

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)
}

你可能感兴趣的:(Swift - 系统声音服务的使用(播放声音,提醒,震动))