Ich habe dieses UISlider, der die Lautstärke der Musik steuert. Wenn sich der Daumen in der Mitte befindet, ist die Lautstärke der Musik auf 1 eingestellt und sollte abgespielt werden. Das Problem, das ich habe, ist, dass es spielt, aber sobald ich den Daumen nach rechts oder links bewege und versuche, den Daumen zurück in die Mitte zu bewegen, kann ich keine Musik hören. Es funktioniert, wenn ich nach links oder rechts gehe und die Musik für beide AVPlayer abspielt, außer wenn der Schieberegler in der Mitte ist. Vielen Dank im Voraus!Wie kommt es, dass die Musiklautstärke nicht spielt, wenn sich mein Schieberegler in der Mitte befindet?
middleSlider = UISlider(frame: CGRectMake(110 * scaleFactor, 50, 300, 150))
middleSlider.tintColor = UIColor.whiteColor()
middleSlider.setThumbImage(UIImage(named: "thumb3"), forState: UIControlState.Normal)
middleSlider.minimumTrackTintColor = UIColor.whiteColor()
middleSlider.maximumTrackTintColor = UIColor.whiteColor()
middleSlider.maximumValue = 2.0
middleSlider.minimumValue = 0.0
middleSlider.value = 1.0
middleSlider.continuous = true
middleSlider.userInteractionEnabled = false
middleSlider.addTarget(self, action: #selector(middleSliderChangeAudio), forControlEvents: UIControlEvents.AllEvents)
self.view?.addSubview(middleSlider)
func middleSliderChangeAudio() {
if middleSlider.value < 1.0 {
player.volume = 1
player2.volume = 0
}
if middleSlider.value > 1.0 {
player.volume = 0
player2.volume = 1
}
if middleSlider.value == 1.0 {
player.volume = 1
player2.volume = 1
}
}
Sind Sie sicher, dass Sie den Schieberegler _exactly_ in der Mitte einstellen? Überprüfen Sie den Wert von 'middleSlider.value' mithilfe eines Haltepunkts oder einer Protokollnachricht. Ist es genau 1,0? –
Es funktioniert am Anfang, wenn es auf 1 gesetzt wird. Aber wenn ich den Schieberegler nach rechts oder links bewege und zurück in die Mitte gehe, funktioniert es nicht. Ich habe versucht, eine Nachricht zu protokollieren, und in der Konsole wird nichts ausgegeben. – coding22
Auch wenn Sie keine Protokollnachrichten sehen, können Sie immer einen Haltepunkt setzen und 'middleSlider.value' betrachten. Wenn Sie die Werte sehen könnten, wäre es ziemlich offensichtlich, was passiert. Der Debugger ist dein Freund, lerne, wie man es benutzt! –