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)[NSURL fileURLWithPath:file_sound], &soundID);


这样,功能是达到了,但是有个问题,这个震动有点过于强烈了,效果很不理想,如果真个震动的幅度或者大小能改设置,那样就完美了,有哪位大神了解的请指点一下;



你可能感兴趣的:(ios开发)