序言
在iOS設(shè)備中,聲音分為兩種,一種是音效輸出,一種是音頻輸出。音效,就是利用系統(tǒng)的聲音,用來播放比較短的音頻,主要用途是用來做系統(tǒng)的提示音,使用的框架是AudioToolBox。
音效播放
1.聲明一個聲音ID(SoundID),靠這個聲音ID來區(qū)分哪個音頻(音效),類型是無符號長整形的
2.創(chuàng)建播放聲音的服務(wù)(告訴系統(tǒng) 有一個可以使用的SoundID) 聲音文件的路徑 SoundID。
3.播放聲音
示例代碼
- 獲取音效文件路徑
guard let url = Bundle.main.url(forResource: "music", withExtension: "mp3", subdirectory: "music.bundle") else {
print("獲取文件路徑失敗")
return
}
- 生成一個 SystemSoundID
var id: SystemSoundID = 0
AudioServicesCreateSystemSoundID(urlRef, &id)
- 播放音效 - 帶振動
if #available(iOS 9.0, *) {
AudioServicesPlayAlertSoundWithCompletion(id) {
// 執(zhí)行回調(diào)
completionBlock()
// 4.釋放
AudioServicesDisposeSystemSoundID(id)
}
} else {
AudioServicesPlaySystemSound(id)
}
播放音效 - 不帶振動
if #available(iOS 9.0, *) {
AudioServicesPlaySystemSoundWithCompletion(id) {
// 執(zhí)行回調(diào)
completionBlock()
// 4.釋放
AudioServicesDisposeSystemSoundID(id)
}
} else {
AudioServicesPlaySystemSound(id)
}