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动态改变 硬件音量大小 实现和音量键的同步

如何更改 MusicTrack 的音量? - iOS开发

使用UIAppearance自定义iOS UIDatepicker

自定义UISearchBar

iOS开发UI篇—Quartz2D(自定义UIImageView控件)

如何在 iOS 中自定义 MPVolumeView?