在之前的一篇文章 iOS — 使用AVFoundation的AVAudioPlayer来播放音频中,简单介绍了AVAudioPlayer的使用。其中通过AVAudioPlayer对象实例的volume属性可以调节该APP的音量大小。但不会影响到iOS系统音量。那如果要对系统音量进行调节呢?
MPVolumeView
MPVolumeView是MediaPlayer框架中的一个组件,包含了对系统音量和AirPlay设备的音频镜像路由的控制功能。MPVolumeView有三个subview,其中私有类(无法手动创建,也无法使用isKindOfClass方法)MPVolumeSlider用来控制音量大小,继承自UISlider。
另外还有UILabel和MPButton两个subview,暂时没有使用到。
将MPVolumeView对象实例当做一个subview,添加到父view中即可使用,但其UI可定制性很低。使用前要import MediaPlayer。
if (mpVolumeView == nil) {
volumeLabel = UILabel(frame: CGRectMake(0, 100, self.view.frame.width, 30))
volumeLabel.textAlignment = NSTextAlignment.Center
self.view.addSubview(volumeLabel)
mpVolumeView = MPVolumeView(frame: CGRectMake(20, 150, self.view.frame.width - 40, 30))
self.view

本文介绍了如何使用MPVolumeView组件来控制iOS系统的音量,包括如何添加到视图中、如何监听系统音量变化以及通过AVAudioSession处理音量提示的显示问题。同时,提供了在不同背景音乐播放情况下处理系统音量提示的解决方案,并给出了Demo链接。
9329

被折叠的 条评论
为什么被折叠?



