IOS 播放系統(tǒng)提示音使用總結(jié)(AudioToolbox)
IOS 播放系統(tǒng)提示音使用總結(jié)(AudioToolbox)
開發(fā)過程中需要用到蘋果自帶的系統(tǒng)提示音,下面我總結(jié)了一下關(guān)于系統(tǒng)提示音播放的方法
第一步首先得導(dǎo)入AudioToolbox框架
#import <AudioToolbox/AudioToolbox.h>
播放系統(tǒng)自帶的提示聲
播放系統(tǒng)自帶的提示聲很簡單,只需要兩行代碼就能搞定了:
//定義一個(gè)SystemSoundID SystemSoundID soundID = 1000;//具體參數(shù)詳情下面貼出來 //播放聲音 AudioServicesPlaySystemSound(soundID);
關(guān)于SystemSoundID的相關(guān)參數(shù)介紹和系統(tǒng)所有的鈴聲的介紹
播放自定義的提示聲,既有聲音也帶振動
- (void)playNotifySound {
//獲取路徑
NSString *path = [[NSBundle mainBundle] pathForResource:@"candoNotifySound" ofType:@"mp3"];
//定義一個(gè)SystemSoundID
SystemSoundID soundID;
//判斷路徑是否存在
if (path) {
//創(chuàng)建一個(gè)音頻文件的播放系統(tǒng)聲音服務(wù)器
OSStatus error = AudioServicesCreateSystemSoundID((__bridge CFURLRef _Nonnull)([NSURL fileURLWithPath:path]), &soundID);
//判斷是否有錯(cuò)誤
if (error != kAudioServicesNoError) {
NSLog(@"%d",(int)error);
}
}
//播放聲音和振動
AudioServicesPlayAlertSoundWithCompletion(soundID, ^{
//播放成功回調(diào)
});
}
只有振動沒有聲音
//手機(jī)只振動沒聲音 AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
只有聲音不帶振動
//必須得是自定義的聲音,經(jīng)過測試系統(tǒng)的聲音好像都帶振動
- (void)playNotifySound {
//獲取路徑
NSString *path = [[NSBundle mainBundle] pathForResource:@"candoNotifySound" ofType:@"mp3"];
//定義一個(gè)帶振動的SystemSoundID
SystemSoundID soundID = 1000;
//判斷路徑是否存在
if (path) {
//創(chuàng)建一個(gè)音頻文件的播放系統(tǒng)聲音服務(wù)器
OSStatus error = AudioServicesCreateSystemSoundID((__bridge CFURLRef _Nonnull)([NSURL fileURLWithPath:path]), &soundID);
//判斷是否有錯(cuò)誤
if (error != kAudioServicesNoError) {
NSLog(@"%d",(int)error);
}
}
//只播放聲音,沒振動
AudioServicesPlaySystemSound(soundID);
}
上面是我關(guān)于提示聲使用的一些技巧,希望大家能學(xué)到東西,如果有不足希望大家給予補(bǔ)充,謝謝閱讀!
相關(guān)文章
NSURLSession跨域重定向透傳HTTP Header問題解決
這篇文章主要為大家介紹了NSURLSession跨域重定向透傳HTTP Header問題解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
IOS微信端confirm以及alert去掉網(wǎng)址的實(shí)例代碼
下面小編就為大家分享一篇IOS微信端confirm以及alert去掉網(wǎng)址的實(shí)例代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01
淺析iOS中的淺拷貝和深拷貝(copy和mutableCopy)
ios提供了copy和mutablecopy方法,顧名思義,copy就是復(fù)制了一個(gè)imutable的對象,而mutablecopy就是復(fù)制了一個(gè)mutable的對象。本文給大家介紹iOS中的淺拷貝和深拷貝(copy和mutableCopy) ,感興趣的朋友一起看看吧2016-04-04
iOS App中UITableView左滑出現(xiàn)刪除按鈕及其cell的重用
這篇文章主要介紹了iOS App中UITableView左滑出現(xiàn)刪除按鈕及其cell的重用的方法,實(shí)例代碼為傳統(tǒng)的Objective-C語言,需要的朋友可以參考下2016-03-03
詳解IOS的Automatically Sign在設(shè)備上打包
本篇教程主要給大家分享了IOS的Automatically Sign如何在設(shè)備上直接打包,有需要的朋友參考學(xué)習(xí)下。2018-01-01
iOS App設(shè)計(jì)模式開發(fā)中對建造者模式的運(yùn)用實(shí)例
這篇文章主要介紹了iOS App設(shè)計(jì)模式開發(fā)中對建造者模式的運(yùn)用實(shí)例,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-04-04
Swift實(shí)現(xiàn)iOS應(yīng)用中短信驗(yàn)證碼倒計(jì)時(shí)功能的實(shí)例分享
這篇文章主要介紹了Swift實(shí)現(xiàn)iOS應(yīng)用中短信驗(yàn)證碼倒計(jì)時(shí)功能的實(shí)例分享,開啟和關(guān)閉倒計(jì)時(shí)功能的步驟實(shí)現(xiàn)比較關(guān)鍵,需要的朋友可以參考下2016-04-04

