调整系统屏幕亮度.音量.免提切换

OS调整系统屏幕亮度

在iOS5.0以前,无法直接修改系统屏幕亮度,到了iOS5.0以后,苹果给开发者提供了相应的API,避免了之前间接调整屏幕亮度的假象,使之更加方便。

  • 调整屏幕亮度相应的API

    @property(nonatomic) CGFloat brightness NS_AVAILABLE_IOS(5_0) __TVOS_PROHIBITED;// 0 .. 1.0, where 1.0 is maximum brightness. Only supported by main screen.
  • 使用方法

    // 设置系统屏幕亮度
    [UIScreen mainScreen].brightness = 0.5;
    // 或者
    [[UIScreen mainScreen] setBrightness:0.5];

iOS调整系统媒体音量

首先导入

#import <AVFoundation/AVFoundation.h>

#import <MediaPlayer/MediaPlayer.h>

iOS确实有设置system volume的方法,但是该方法为private class,所以在这里就不多说了,以下为两种简单实现调整系统音量的方式:

  • MPVolumeView

    • 说明
      用这种方式修改会在指定区域生成一个音量条,它会保持与系统音量实时同步,但不可以用代码修改,只能由用户手动拖动音量条控制。


    • 使用方式

  • MPVolumeView跟系统音量同步显示
    • MPVolumeView *volume = [[MPVolumeView alloc] initWithFrame:self.view.bounds];
      [self.view addSubview:volume];
      [volume sizeToFit];

  • MPMusicPlayerController

    • 说明
      这个类本身是用来播放音乐的,其中有一个volume属性可以直接设置,而且,它可以同步系统音量,所以可以结合UISlider来使用。

    •     UISlider *slider = [[UISlideralloc]initWithFrame:CGRectMake(100,300, 200,50)];

          [self.viewaddSubview:slider];

          slider.maximumValue =1.0;

          slider.minimumValue =0.0;

          slider.backgroundColor = [UIColorpurpleColor];

      //监听slider

          [slider addTarget:selfaction:@selector(clickSlider:)forControlEvents:(UIControlEventValueChanged)];


    • 使用方式

      MPMusicPlayerController *mpc = [MPMusicPlayerController applicationMusicPlayer];
      mpc.volume = value;


//volume赋值

-(void)clickSlider:(UISlider *)slider{

    

    _mpc.volume = slider.value;

    

    NSLog(@"%f",slider.value);

}



//免提切换

传入yes 为免提功能 NO 为听筒功能

-(void) toggleSpeaker:(bool)bOpen

{

    UInt32 route;

    OSStatus error;

    UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord;

    

    error = AudioSessionSetProperty (

                                     kAudioSessionProperty_AudioCategory,

                                     sizeof (sessionCategory),

                                     &sessionCategory

                                     );

    

    route = bOpen?kAudioSessionOverrideAudioRoute_Speaker:kAudioSessionOverrideAudioRoute_None;

    error = AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(route), &route);

    

}






 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值