Сделайте обновление UISlider с прогрессом, используя AVAudioPlayerIOS

Программируем под IOS
Anonymous
Сделайте обновление UISlider с прогрессом, используя AVAudioPlayer

Сообщение Anonymous »

Я создаю простое приложение для аудиоплеера, которое позволяет пользователю изменять положение трека с помощью UISlider.

Чего оно не позволяет do: ползунок не обновляется в зависимости от прогресса трека. Я нашел здесь аналогичный вопрос, и второй ответ был ответом на AVAudioPlayer — он предлагал использовать currentTime для обновления ползунка. Я хочу попробовать это сделать.

Вот мой код:

Код: Выделить всё

import UIKit
import AVFoundation

class MusicViewController: UIViewController {

....

@IBOutlet var Slider: UISlider!

@IBAction func changeAudioTime(_ sender: Any) {
Slider.maximumValue = Float(audioPlayer.duration)
audioPlayer.stop()
audioPlayer.currentTime = TimeInterval(Slider.value)
audioPlayer.prepareToPlay()
audioPlayer.play()
}

func updateSlider(){

Slider.value = Float(audioPlayer.currentTime)
print("Changing works")
}
Первая функция работает нормально — пользователь может изменить свое местоположение. Однако вторая функция для меня должна изменить Slider.value на основе currentTime AudioPlayer. Он этого не делает.

Он также не печатает, поэтому я считаю, что он не срабатывает.

Я новичок в Swift, поэтому, вероятно, что-то упускаю. Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/481 ... udioplayer

Вернуться в «IOS»