博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
调整系统屏幕亮度.音量.免提切换
阅读量:3784 次
发布时间:2019-05-22

本文共 1845 字,大约阅读时间需要 6 分钟。

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

    

}

 

转载地址:http://xxevn.baihongyu.com/

你可能感兴趣的文章
linux下卸载和安装mysql
查看>>
在初始化namenode时:java.net.NoRouteToHostException: 没有到主机的路由;
查看>>
hive-hbase
查看>>
浅谈scala-API的基础概念及简单例子
查看>>
spark的历史服务器配置
查看>>
spark的API操作
查看>>
SparkSql
查看>>
SparkRdd-scala版本
查看>>
spark常见算子
查看>>
scala符号初体验
查看>>
kafka生产者常用参数含义
查看>>
mysql编写函数
查看>>
面试笔试题之hql
查看>>
sql函数之cast()
查看>>
hql中substr函数截取字符串匹配
查看>>
mysql之指定ip、用户、数据库权限
查看>>
zookeeper的读和写数据流程(有图欧)
查看>>
bin/schematool -dbType mysql -initSchema HiveMetaException: Failed to get schema version.
查看>>
flink知识总结
查看>>
flink之检查点(checkpoint)和保存点(savepoint)的区别
查看>>