IOS 自定义音量改变UI
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOS 自定义音量改变UI相关的知识,希望对你有一定的参考价值。
参考技术A 首先是系统自己的音量改变UI然后产品经理说了,看视频的时候很不爽,我要自己定制这个东西,系统的不去显示。
然后是修改之后的UI
搜了一下需要用到 MPVolumeView
具体做法:
1、首先监听系统音量按钮点击的事件
[[NSNotificationCenterdefaultCenter]addObserver:self selector:@selector(volumeChanged:) name:AVSystemController_SystemVolumeDidChangeNotificationobject:nil];
这个时候点击了音量加减按钮在volumeChanged方法中就可以收到回调
2、监听收到了就该实现产品经理的需求了,把系统自己的音量UI去掉
搜了一下说是 MPVolumeView 在当前VC的View层中的话就不会显示,但是实测的话还是会显示的。
后面找到方法:[[AVAudiosession sharedInstance]setActive:YES error:nil]; 设置为YES 并且 MPVolumeView 在当前View中就不会显示系统自己的音量调节的UI MPVolumeView 的实例Viewhidden设为NO alpha不为0 宽高大概要大于1吧 没有实际测试 基本我自己设置的是CGRectMake(-1000,10,100,100) 只要不在屏幕上显示就行
3、- (void)volumeChanged:(NSNotification*)notification
notification的userInfo有两种 一种是音量的变化 一种是铃音的变化
/**
改变铃声的通知
"AVSystemController_AudioCategoryNotificationParameter" = Ringtone; //铃声改变
"AVSystemController_AudioVolumeChangeReasonNotificationParameter" = ExplicitVolumeChange; //改变原因
"AVSystemController_AudioVolumeNotificationParameter" = "0.0625"; //当前值
"AVSystemController_UserVolumeAboveEUVolumeLimitNotificationParameter" = 0;最小值
改变音量的通知
"AVSystemController_AudioCategoryNotificationParameter" = "Audio/Video"; //音量改变
"AVSystemController_AudioVolumeChangeReasonNotificationParameter" = ExplicitVolumeChange; //改变原因
"AVSystemController_AudioVolumeNotificationParameter" = "0.3"; //当前值
"AVSystemController_UserVolumeAboveEUVolumeLimitNotificationParameter" = 0;最小值
*/
@end
如何更改 MusicTrack 的音量? - iOS开发
【中文标题】如何更改 MusicTrack 的音量? - iOS开发【英文标题】:How to change the volume of MusicTrack? - iOS develop 【发布时间】:2013-07-30 11:05:14 【问题描述】:如何改变 MusicTrack 的音量? - iOS 开发
我正在使用“MusicPlayer Class”播放 test.mid。现在,我想改变音轨的音量。我该怎么做?
谁帮忙~谢谢! ^^
【问题讨论】:
【参考方案1】:在您的 xib 中拖动一个 uiview 并将自定义类属性更改为 MPVolumeView。这仅适用于 devide。
【讨论】:
我不想改变设备音量。仅调整 MIDI 文件中的一首曲目。谢谢~以上是关于IOS 自定义音量改变UI的主要内容,如果未能解决你的问题,请参考以下文章
Android 自定义SeekBar动态改变 硬件音量大小 实现和音量键的同步
使用UIAppearance自定义iOS UIDatepicker