【第22期】观点:IT 行业加班,到底有没有价值?

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

原创 2016年08月29日 17:10:13

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);

    

}








版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

6950有史以来最经典玩机宝典/软件包/导航

http://www.diypda.com/forum.php?mod=viewthread&tid=116274 [教程]6950有史以来最经典玩机宝典/软件包/导航  [复制链接] ...

Android历史与版本变迁

<p style="color: rgb(54,46,43); font-size: 13px; line-height: 17.328125px; padding-top: 0px; padding-bottom: 0px; margin-bottom: 10px;

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

诺基亚5530XM

诺基亚5530XM 2010年12月26日   诺基亚5530XM作为5800后续机型,在机身四周加入了金属边框设计,时尚感大增,也增添了几分高贵气质。沿用了5800XM上下两端的独立环绕扬声器,外放效果依旧良好。手机CPU主频达到N97级别,而且是目前为数不多的官方支持大陆WAPI(兼容Wi...

HTC手机使用说明书

HTC手机使用说明书     使用设备前,请仔细阅读本手册 本手册中的描述以手机中文版本及其默认设置为基础。 当您从包装盒中取出设备时,电池尚未充满电。 设备充电时,请勿取出电池。 如您拆卸或擅...
  • zzwu
  • zzwu
  • 2016-10-26 06:40
  • 2554

更多改进 苹果iPhone 3G版深入评测

外观造型更显时尚 <img src="http://publis
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)