Swift'de bir çözüm var. Gölgeli olabilir, bu yüzden yayınladığımda Apple'ın bunu onaylayıp onaylamadığını size bildiririm. Bu arada, bu benim için sadece iyi çalışır:
kullanıcı (yükseklik gizlendiği bir görünümü tanımlamak, storyboard olarak sizin View Controller
private let volumeView: MPVolumeView = MPVolumeView()
private var volumeSlider: UISlider?
bir MPVolumeView ve isteğe bağlı UISlider tanımla = 0 hile yapmalı ve bunun için bir çıkış yapmalıyız (buna hiddenView buradan ulaşabilirsiniz). Eğer hacim değiştirirken hacmini HUD gösterilecek DEĞİL istiyorsanız bu adım sadece iyidir (aşağıdaki nota bakınız): yere
@IBOutlet weak var hiddenView: UIView!
- viewDidLoad yılında
() veya bir defa çalışır init-y, aslında UISlider yakalamak adımdan opsiyonel UISlider içine hacmi (1) kontrol eder:? kodunuzda düzeyini ayarlamak istediğinizde, sadece volumeSlider set
override func viewDidLoad() {
super.viewDidLoad()
...
hiddenView.addSubview(volumeView)
for view in volumeView.subviews {
if let vs = view as? UISlider {
volumeSlider = vs
break
}
}
}
.value yerde örneğin 0.0 ile 1.0 arasında olmasınıSesi artırmak için:
func someFunc() {
if volumeSlider?.value < 0.99 {
volumeSlider?.value += 0.01
} else {
volumeSlider?.value = 1.0
}
}
Önemli not: görünmesini iPhone'un Cilt HUD önleyecektir Bu çözüm - kodunuzda ses düzeyini değiştirmek ya da her iki kullanıcı tıkladığında harici ses düğmeleri. HUD öğesini görüntülemek istiyorsanız, tüm gizli görüntüleme öğelerini atlayın ve MPVolumeView öğesini bir alt görünüm olarak eklemeyin. Bu, iOS'un ses seviyesi değiştiğinde HUD'yi göstermesine neden olur.
Ses düzeyini programsal olarak değiştirmemeniz gerekir. Bu, setVolume: 'nin tüm noktasını kullanır. Uygulamanız reddedilebilir. –