IOS 控制系统声音、显示、隐藏系统音量HUD提示框

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

项目需要滑动屏幕控制系统的音量,百度了下如何控制系统音量,找到了 MPVolumeView 这个类

但是MPVolumeView 是通过MPVolumeSlider去控制音量大小,而且MPVolumeView 并没有提供任何获取、修改音量的方法。网上找的办法是得到控制音量的MPVolumeSlider,然后修改滑动条的值去控制音量。

1、获取MPVolumeView的控制条

//获取系统的音量控件
-(UISlider*)getSystemVolumSlider{
    static UISlider * volumeViewSlider = nil;
    if (volumeViewSlider == nil) {
        MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(10, 50, 200, 4)];
        volumeView.showsRouteButton = YES;
        for (UIView* newView in volumeView.subviews) {
            if ([newView.class.description isEqualToString:@"MPVolumeSlider"]){
                volumeViewSlider = (UISlider*)newView;
                break;
            }
        }
    }
    return volumeViewSlider;
}

 

2、获取、修改系统的音量

//获取系统的音量
-(CGFloat)getSystemVolume
{
    return [self getSystemVolumSlider].value;
}

//设置系统音量
-(void)setSystemVolume:(CGFloat) volume
{
    [self getSystemVolumSlider].value = volume;
}

 

3、显示、隐藏系统的音量HUD提示框

项目没有美工,所有想用系统的音量HUD提示框去显示音量大小,我的MPVolumeView 是在ViewDidLoad方法中创建的,运行的时候发现音量可以设置,但是没有系统的HUD提示框,网上查了下,如果MPVolumeView在 ViewDidLoad、ViewWillAppear方法中创建,修改系统音量是没有HUD提示框的。

如果想要系统的HUD提示框,不要在 ViewDidLoad、ViewWillAppear 方法中创建MPVolumeView;

如果不想要系统的HUD提示框, ViewDidLoad、ViewWillAppear 方法中创建MPVolumeView;

 

参考资料:

http://blog.csdn.net/chaoyuan899/article/details/51298906

http://blog.csdn.net/qq_32010299/article/details/51313750

转载于:https://my.oschina.net/mexiaobai1315/blog/814466

你可能感兴趣的:(IOS 控制系统声音、显示、隐藏系统音量HUD提示框)