Я пытаюсь создать слайдер, который изменяет звук в зависимости от значения ползунка. Так, например, если значение ползунка равно 0, звук не воспроизводится. Если значение равно 1, «песня» играет, и если значение равно 2, «песня б» играет и т.д.Как реализовать sender.selected if statement в UISlider?
Я использую AVFoundation и создал свой SoundPlayer:
var soundPlayer:AVAudioPlayer = AVAudioPlayer()
я добавил Outlets на мой слайдера:
@IBOutlet weak var audioSlider: UISlider!
@IBOutlet weak var audioSliderPlay: UISlider!
Определено местоположение файла моего аудио:
let audioLocation = NSBundle.mainBundle().pathForResource("song a", ofType: ".mp3")
создал метод сделать для моей пл Эйер:
do {
audioSoundPlayer = try AVAudioPlayer (contentsOfURL: NSURL (fileURLWithPath: audioLocation!))
catch {
print(error)
}
И создали мое действие:
@IBAction func audioSlider(sender: UISlider) {
if (!sender.selected) {
audioSoundPlayer.play()
audioSoundPlayer.numberOfLoops = -1
}
Теперь - слайдер в настоящее время активизирует песню, когда выбирается любое значения. Как только звук начнется, его нельзя остановить. Мне нужно добавить sender.value и создать переменные, которые определяют значение, и выбрать другие песни, которые я собираюсь добавить.
Помогите пожалуйста ?!
Редактировать с Amit выпуска:
Amit - я изменил максимальное значение ползунка 3 для 3 аудио.
При добавлении следующего к IBAction, ползунок играет только один звук, когда он достигает максимальное значение:
@IBAction func audioSlider(sender: UISlider) {
let sliderValue = (sender.value)
if sliderValue == 1 {
soundPlayer1.play()
soundPlayer1.numberOfLoops = -1
}
else if sliderValue == 2 {
soundPlayer2.play()
soundPlayer2.numberOfLoops = -1
}
else if sliderValue == 3 {
soundPlayer3.play()
soundPlayer3.numberOfLoops = -1
}
else if sliderValue == 0 {
soundPlayer1.stop()
soundPlayer2.stop()
soundPlayer3.stop()
}
}
, если вы хотите, чтобы значение ползунка просто использовать «пусть значение = Int (sender.value)» – lzl
конечно спасибо! –
sliderValue, который вы получаете, является значением Float, которое не будет точно соответствовать 1.0 или 2.0. –