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

本文介绍如何在iOS应用中使用MPVolumeView类及其子类MPVolumeSlider来实现音量控制功能,并提供了获取和设置系统音量的具体实现代码。同时,文章还探讨了如何在不创建MPVolumeView的情况下显示或隐藏系统的音量HUD提示框。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目需要滑动屏幕控制系统的音量,百度了下如何控制系统音量,找到了 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.youkuaiyun.com/chaoyuan899/article/details/51298906

http://blog.youkuaiyun.com/qq_32010299/article/details/51313750

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值