1. 程式人生 > >ios獲取手機使用者是否開啟關閉靜音

ios獲取手機使用者是否開啟關閉靜音

題記:有時候需求很蛋疼,但要是找到解決辦法,也是一種樂趣...

最近有這麼個需求:  還是關於自定義鍵盤的,使用者關靜音的情況下,即有聲音輸出的時候,自定義鍵盤按鍵時有系統鍵盤的那種聲音,當用戶開靜音的時候,自定義鍵盤按鍵時無聲音要有震動提示;

說明:蘋果官方是沒有提供獲取靜音開關的方法,也不能設定更改系統聲音的大小;找了好多資料,終於讓我找到了可以獲取靜音開關狀態的方法,但是改變系統聲音大小的方法網上有說好多種,嘗試過都沒有實現成功;

獲取靜音開關的狀態的方法是我在github裡找到,有人實現了,實現過程一點都不復雜;

下載地址:https://github.com/Rich2k/RBDMuteSwitch

然後根據獲取的狀態來設定聲音和震動:

if (Ismute) {  //靜音

// AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);  //震動效果;

    }else{

//播放按鍵音效;

AudioServicesPlaySystemSound(soundID);

    }

//系統按鍵音效檔案及初始化:

//呼叫系統的按鍵音效;

NSString * file_sound = @"/System/Library/Audio/UISounds/Tock.caf";

//初始化音訊檔案、播放;

AudioServicesCreateSystemSoundID((

CFURLRef)[NSURLfileURLWithPath:file_sound], &soundID);

這樣,功能是達到了,但是有個問題,這個震動有點過於強烈了,效果很不理想,如果真個震動的幅度或者大小能改設定,那樣就完美了,有哪位大神瞭解的請指點一下;