修改iOS系统的音量

请注意:

修改系统音量无法在模拟器上看到效果,必须使用真机调试才能看到效果!

使用前请导入库 #import <MediaPlayer/MediaPlayer.h>

1. 获取系统音量控制视图

先声明_volumeViewSlider属性

-(void)getVolumeVolue
{
    MPVolumeView *volumeView = [[MPVolumeView alloc] init];
    _volumeViewSlider = nil;
    for (UIView *view in [volumeView subviews]){
        if ([view.class.description isEqualToString:@"MPVolumeSlider"]){
            _volumeViewSlider = (UISlider *)view;
         break;
        }
    }

}

2. 修改系统音量的值

- (void)verticalMoved:(CGFloat)value
{
    // 更改系统的音量
    self.volumeViewSlider.value   = value ;// 越小幅度越小0-1之间的数值

}

其他的需求:

通过上面的方法获取到控制音量的滑块之后,当我们改变滑块的value之后,系统的音量提示框会展示出来,也许有的APP中要自己定义音量改变的提示框,于是便要隐藏系统的音量提示框

实现:

上面的 获取 系统音量滑块 的时候,并没有将滑块假如到我们的视图中,如果将其假如到我们的视图之中后,就会发现系统的音量提示框便不会展示,可以知道:音量滑块 (volumeViewSlider)在视图层级中,系统的音量提示框便不会展示,音量滑块 (volumeViewSlider)不在视图层级中,系统的音量提示框便会展示,这样就好办了,将音量滑块 (volumeViewSlider)的坐标调整到最低层级,或者将其坐标设置为负值如(-1000,-1000,100,4)
但是有一点要注意,不能将其 hidden 设置为YES ,如果设置为YES ,就会检测到 音量滑块 (volumeViewSlider)并没有在视图层级中,系统的音量提示框还会展示

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,245评论 4 61
  • 时下蒋勋的音频大火,作为美学导师,他的那句“活的像个人,才能看到美”,听来言简而意长。听过他音频的人,都会被他的声...
    韩小叙阅读 14,087评论 0 51
  • 谁又离不开谁呢?其实每个人都是单独的个体,我们平时可能跟家人、朋友相处得很愉快,亦或很郁闷,但是我们都只是彼此的过...
    挚而有别阅读 150评论 0 0
  • 1.本周为了练好口才,我的行动和成果有哪些? 答:我的行动完成了(自我介绍,为什么加入60秒口才训练营,成功,时间...
    勃彁吥太壊阅读 250评论 1 0
  • scrum就输一次漫长的长跑分成了几次的冲刺,这是一个帮助我们自律的工具,我们能明确昨天做了什么?今天要做什么?...
    合肥李风丽阅读 198评论 0 0