欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

iOS 调节系统音量

程序员文章站 2022-05-12 09:18:20
...

控制系统音量总得来说有如下两种方法

  • 第一种方法是苹果在7.0以后建议用的,不过通过第一种方法,调节系统音量会弹出系统音量提示框和系统音量滑动条,但是有些需求是不需要显示这些的,我们可以通过如下方法,设置frame和showsRouteButton属性,两者缺一不可。
  • 如果想单纯的控制音量,则不推荐使用第二种方法。
//这个默认值是YES,为了突出我又刻意设置了一遍,设为NO之后,系统音量条是隐藏了,可是会弹出音量提示框
 _volumeView.showsVolumeSlider = YES;
//通过设置frame来达到隐藏音量滑动条
[_volumeView setFrame:CGRectMake(-1000, -1000, 10, 10)];
//去掉提示框
_volumeView.showsRouteButton = NO;
  1. 通过MPVolumeView来控制系统音量的方法
-(void)controlVolume{

    _volumeView = [[MPVolumeView alloc]init];

    _volumeView.showsRouteButton = NO;
    //默认YES,这里为了突出,故意设置一遍
    _volumeView.showsVolumeSlider = YES;

    [_volumeView sizeToFit];
    [_volumeView setFrame:CGRectMake(-1000, -1000, 10, 10)];

    [self addSubview:_volumeView];
    [_volumeView userActivity];

    for (UIView *view in [_volumeView subviews]){
        if ([[view.class description] isEqualToString:@"MPVolumeSlider"]){
            _volumeSlider = (UISlider*)view;
            break;
        }
    }
    //设置默认打开视频时声音为0.3,如果不设置的话,获取的当前声音始终是0
    [_volumeSlider setValue:0.2];
    
    //获取最是刚打开时的音量值
    _volumeValue = _volumeSlider.value;
    
    //设置展示音量条的值
    _showVolueSlider.value = _volumeValue;
}
  1. 下面这种方法大家就不要试了,在7.0以后苹果反对使用此方法,建议用MPVolumeView类。
MPMusicPlayerController *mpc = [MPMusicPlayerController applicationMusicPlayer];
//This property is deprecated -- use MPVolumeView for volume control instead.
//在7.0以后苹果反对使用此方法,建议用MPVolumeView
mpc.volume = 0;  //0.0~1.0