音頻
iOS裏面有四種專門實現播放音頻的方式
1, System Sound Services (系統聲音服務)
2, OpenAL(跨平臺的開源的音頻處理接口)
3, Audio Queue Services(播放和錄製音頻服務)
4, AVAudioPlayer(高級音頻播放器)
System Sound Services (系統聲音服務)是最底層也是最簡單的聲音播放服務,通過調用AudioServicesPlaySystemSound這個函數就可以播放一些簡單的音頻文件
使用場景:適合播放一些很小的提示或者警告音.
侷限性:1, 聲音長度要小於30秒
2, 格式:IMA4
3, 不能控制播放的進度
4, 調用方法後立即播放聲音
5, 沒有循環播放和立體聲音播放
//系統聲音服務
//1, 找到播放資源的路徑
NSString *path = [[NSBundle mainBundle]pathForResource:@"蔡琴 - 愛斷情傷.wav" ofType:@""];
//2, 系統對於每種音頻,都對應的給了一個SystemSoundID, 類似身份證號, 讓系統進行識別
SystemSoundID soundID;
//fileURLWithPath: 將本地的資源轉化爲URL 對象
NSURL *url = [NSURL fileURLWithPath:path];
//這個函數是幫助我們創建一個 soundID, 第一個參數,是資源的本地url, 是OC級別的, OC 跟 C 在變量傳值上要藉助橋接(bridge)
AudioServicesCreateSystemSoundID((__bridge CFURLRef)url, &soundID);
//播放,(任選其一)
//1, 播放聲音和震動
// AudioServicesPlayAlertSoundWithCompletion(soundID, ^{
// NSLog(@"播放完成之後觸發");
// });
//2, 只播放聲音
AudioServicesPlaySystemSound(soundID);
//3, 只震動
// AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);