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

2025-05-29 0 61

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

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

1.改变屏幕亮度

?

1

2

3

4

5
//获得当前屏幕亮度

light = [uiscreen mainscreen].brightness;

light = 0.5f;

//直接赋值或者使用set方法皆可

[uiscreen mainscreen].brightness = light;

2.改变系统音量

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

?

1

2

3

4

5

6
mpmusicplayercontroller *mpvc = [mpmusicplayercontroller applicationmusicplayer];

//获得系统当前音量

voice = _mpvc.volume;

voice = 0.5f;

//改变系统音量

_mpvc.volume = voice;

3.滑动响应方法

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58
- (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简单运用

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15
//从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];

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

?

1
[[avaudiosession sharedinstance] setcategory:avaudiosessioncategoryplayback error:nil];

最后附上demo:点击下载

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 iOS中滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用) https://www.kuaiidc.com/92523.html

相关文章

发表评论
暂无评论