iOS播放系统声音
简介
iOS 播放声音有很多种方式,其中系统声音服务应该是最简单的了。但我们使用起来要小心,因为使用系统声音服务时会有一些限制
- 声音不能超过30秒
- 支持格式有限, caf, aif, pcm或者ima/adpcm数据的wav文件
三种类型
播放系统声音有三种类型:
- 声音:播放一个声音文件。但是如果手机静音,用户什么也听不见。
- 提醒:播放一个声音文件,如果手机设为静音或震动,这时会通过震动提醒用户。
- 震动:震动手机,而不考虑其他设置。
声音类型
import AudioToolbox
let path = Bundle.main.path(forResource: "test", ofType: "caf")!
let url = URL(fileURLWithPath: path)
AudioServicesCreateSystemSoundID(url as CFURL, &soundID)
AudioServicesPlaySystemSound(soundID)
提醒类型
import AudioToolbox
let path = Bundle.main.path(forResource: "test", ofType: "caf")!
let url = URL(fileURLWithPath: path)
AudioServicesCreateSystemSoundID(url as CFURL, &soundID)
AudioServicesPlayAlertSound(soundID)
震动类型
import AudioToolbox
let soundID = SystemSoundID(kSystemSoundID_Vibrate)
AudioServicesPlaySystemSound(soundID)
结束回调
AudioServicesAddSystemSoundCompletion(soundID, nil, nil, { (soundID, clientData) in
print("End of playing voice.")
}, nil)
网友评论