当前位置: 首页 > 编程笔记 >

iOS中滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用)

易成天
2023-03-14
本文向大家介绍iOS中滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用),包括了iOS中滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用)的使用技巧和注意事项,需要的朋友参考一下

如图,左侧上下滑动改变亮度,右侧上下滑动改变音量。

1.改变屏幕亮度

 //获得当前屏幕亮度
  light = [UIScreen mainScreen].brightness;
  light = 0.5f;
  //直接赋值或者使用set方法皆可
  [UIScreen mainScreen].brightness = light;

2.改变系统音量

使用的比较多的就是通过MPMusicPlayerController来改变系统音量,主要归功于MPMusicPlayerController的音量和系统的同步。

MPMusicPlayerController *mpVC = [MPMusicPlayerController applicationMusicPlayer];
//获得系统当前音量
voice = _mpVC.volume;
voice = 0.5f;
//改变系统音量
_mpVC.volume = voice;

3.滑动响应方法

- (void)leftSwipGes:(UIPanGestureRecognizer *)leftSwip
{
  //滑动方法获取到当前位置的y坐标
  leftCurrentY = [leftSwip translationInView:leftView].y;
  NSLog(@"left");
  //当前坐标大于上一次移动的坐标,为向下滑动
  if (leftCurrentY > leftLastY) {
    if (light > 0) {
      //向下滑动屏幕变暗,亮度下降
      light = light - 0.01;
    }
    else{
      //当亮度为0时固定为0,禁止为负值
      light = 0;
    }
  }
  else
  {
    if (light < 1) {
      //向上滑动亮度增加
      light = light + 0.01;
    }
    else{
      //当亮度为1时固定为1,禁止大于1
      light = 1;
    }
  }
  //设置屏幕亮度
  [UIScreen mainScreen].brightness = light;
  //当前位置的上一次移动的位置y坐标
  leftLastY = leftCurrentY;
}
//此处除参数外原理一样,不再额外注释
- (void)rightSwipGes:(UIPanGestureRecognizer *)rightSwip
{
  NSLog(@"right");
  rightCurrentY = [rightSwip translationInView:rightView].y;
  if (rightCurrentY > rightLastY) {
    if (voice > 0) {
      voice = voice - 0.01;
    }
    else{
      voice = 0;
    }
  }
  else
  {
    if (voice < 1) {
      voice = voice + 0.01;
    }
    else{
      voice = 1;
    }
  }
  //设置系统音量
  _mpVC.volume = voice;
  rightLastY = rightCurrentY;
}

4.AVAudioPlayer简单运用

//从budle路径下读取音频文件,这个文件名是你的歌曲名字,mp3是你的音频格式
  NSString *string = [[NSBundle mainBundle] pathForResource:@"夜空中最亮的星" ofType:@"mp3"];
  NSString *playUrl = [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; //转码成UTF-8 否则可能会出现错误
  //把音频文件转换成url格式
  NSURL *url = [NSURL URLWithString:playUrl];
  //初始化音频类 并且添加播放文件
  _avAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
  [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
  //设置初始音量大小
  _avAudioPlayer.volume = voice;
  //设置音乐播放次数 -1为一直循环
  _avAudioPlayer.numberOfLoops = -1;
  //预播放
  [_avAudioPlayer prepareToPlay];
  [_avAudioPlayer play];

这里有一大坑,一定要设置后台播放,否则是不会播放的,下面这段代码

 [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];

最后附上Demo:点击下载

以上所述是小编给大家介绍的iOS中滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍iOS中屏幕亮度与闪光灯控制详解,包括了iOS中屏幕亮度与闪光灯控制详解的使用技巧和注意事项,需要的朋友参考一下 本文主要介绍的是关于iOS屏幕亮度与闪光灯控制的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 所用涉及框架:AVFoundation框架和ImageIO 读取屏幕亮度: [UIScreen mainScreen].brightness; 设置屏幕亮度: [[U

  • 问题内容: Java Sound提供了各种声音线功能以及&控件类型的实例。 可以使用这些控件来更改系统音量吗? 问题答案: 不,它不能。这是从“ 调整码位上的主音量”的答案改编而来的资源。源代码会迭代可用的行,检查它们是否具有正确类型的控件,如果有,则将它们放入连接到命令行的GUI中。 在这台Windows 7计算机上,我有两个控件,都来自“ Java Sound Audio Engine”。都不

  • 本文向大家介绍C#实现基于加减按钮形式控制系统音量及静音的方法,包括了C#实现基于加减按钮形式控制系统音量及静音的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现基于加减按钮形式控制系统音量及静音的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 在持续按住PS键后显示的画面,可调整屏幕的亮度。 拖拽滑杆的旋钮,移动至想设定的亮度后再放开手指。

  • 问题内容: 在Linux中使用C,是否可以更改查看屏幕的亮度?除了在我安装的Ubuntu和Fedora上运行之外,这不是便携式的。我在问我如何与OS交互以更改亮度。 问题答案: 首先,请从以下列表中选择ubuntu pacakges,该工具可让您管理屏幕的亮度(提示:这取决于品牌) 选择之后, 应该让您走上正确的路

  • 问题内容: 我正在尝试使用一些ajax和jQuery Masonry插件添加一些项目-但由于某些原因,新项目没有得到应用? 我正在使用 但是,随后附加的项目没有应用,这意味着它们完全填满了位置吗? 问题答案: 遇到类似的问题,而是使用以下行(已转换为您的代码)。抱歉,我不记得在哪里找到它。 在您的代码中替换为: 有了这个: http://masonry.desandro.com/methods.h

  • 滑动,就是一个点移动另一个点。 用法: def swipe(self, start_x, start_y, end_x, end_y, duration=None): """Swipe from one point to another point, for an optional duration. :Args: - start_x - x-coordinate at

  • 本文向大家介绍C#实现简单屏幕监控的方法,包括了C#实现简单屏幕监控的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现简单屏幕监控的方法。分享给大家供大家参考。具体如下: 这是一段C#编写的屏幕监控代码,可以自动对屏幕进行截图,软件自身隐藏 希望本文所述对大家的C#程序设计有所帮助。