iOS 9:如何在不显示系统条形弹出窗口的情况下以编程方式更改音量? [英] iOS 9: How to change volume programmatically without showing system sound bar popup?
问题描述
我必须在iPad上更改音量并使用此代码:
I have to change the volume on iPad and using this code:
[[MPMusicPlayerController applicationMusicPlayer] setVolume:0];
但这会改变音量并在iPad上显示系统音量条。 如何在不显示音量条的情况下更改声音?
But this changing volume and showing system volume bar on iPad. How to change the sound without showing the volume bar?
我知道, setVolume:
已弃用,并且每个人都说要使用 MPVolumeView
。如果这是解决我的问题的唯一方法,那么如何使用 MPVolumeView
更改音量?我没有在 MPVolumeView
中看到任何改变声音的方法。我应该和一起使用另一个类吗?MPVolumeView
?
I know, setVolume:
is deprecated, and everybody says to use MPVolumeView
. If this is the only way to solve my problem, then how to change the volume using MPVolumeView
? I don't see any method in MPVolumeView
that changes the sound.
Should I use some another class together with MPVolumeView
?
但是最好使用 MPMusicPlayerController
。
感谢您的建议!
推荐答案
MPVolumeView
有一个滑块,通过更改滑块的值,您可以更改设备音量。我写了一个 MPVolumeView
扩展名来轻松访问滑块:
MPVolumeView
has a slider, and by changing the value of the slider, you can change the device volume. I wrote an MPVolumeView
extension to easily access the slider:
extension MPVolumeView {
var volumeSlider:UISlider {
self.showsRouteButton = false
self.showsVolumeSlider = false
self.hidden = true
var slider = UISlider()
for subview in self.subviews {
if subview.isKindOfClass(UISlider){
slider = subview as! UISlider
slider.continuous = false
(subview as! UISlider).value = AVAudioSession.sharedInstance().outputVolume
return slider
}
}
return slider
}
}
这篇关于iOS 9:如何在不显示系统条形弹出窗口的情况下以编程方式更改音量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!