前言
extern void AudioServicesPlayAlertSound(SystemSoundID inSystemSoundID) __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_2_0);
@available(iOS 2.0, *) public func AudioServicesPlayAlertSound(inSystemSoundID: SystemSoundID)
-
系統聲音服務(System Sound Services)提供了一個接口,用於播放不超過 30 秒的聲音。它支持的文件格式有限,具體地說只有 CAF、AIF 和使用 PCM 或 IMA/ADPCM 數據的 WAV 文件。由於這些函數沒有提供操縱聲音和控制音量的功能,所以當你為多媒體或者游戲創建專門的配樂時,不要使用系統聲音服務。
-
iOS 使用系統聲音服務來支持三種不同的通知:
- 1、聲音:立刻播放一個簡單的聲音文件。如果手機被設置為靜音,用戶什么也聽不到。
- 2、提醒:播放一個聲音文件,如果手機被設置為靜音或震動,將通過震動提醒用戶。
- 3、震動:震動手機,而不考慮其他設置。
-
短頻音效播放(系統提示音):
- 添加庫文件:AudioToolbox.framework
- 包含頭文件:#import <AudioToolbox/AudioToolbox.h>
1、短頻音效播放
-
Objective-C
// 添加庫文件:AudioToolbox.framework // 包含頭文件:#import <AudioToolbox/AudioToolbox.h> // 聲明要保存音效文件的變量 SystemSoundID soundID; // 加載文件 NSURL *fileURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"音效" ofType:@"caf"]]; AudioServicesCreateSystemSoundID((__bridge CFURLRef)(fileURL), &soundID); // 播放短頻音效 AudioServicesPlayAlertSound(soundID); // 增加震動效果,如果手機處於靜音狀態,提醒音將自動觸發震動 AudioServicesPlayAlertSound(kSystemSoundID_Vibrate); -
Swift
// 添加庫文件:AudioToolbox.framework // 包含頭文件:import AudioToolbox // 聲明要保存音效文件的變量 var soundID:SystemSoundID = 0 // 加載文件 let fileUrl = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("音效", ofType: "caf")!) AudioServicesCreateSystemSoundID(fileUrl, &soundID) // 播放短頻音效 AudioServicesPlayAlertSound(soundID) // 增加震動效果,如果手機處於靜音狀態,提醒音將自動觸發震動 AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate));
