Я создал UIButton с изображением на MainStoryBoard. Когда я нажимаю эту кнопку, он воспроизводит звуковой файл, и когда звук воспроизводит фоновый цвет изменений UIButton.Как использовать audioPlayerDidFinishPlaying несколько раз
audioPlayerDidFinishPlaying1 правильно назван, однако audioPlayerDidFinishPlaying2, похоже, не называется. Я ценю любые советы, которые заставляют меня решить эту проблему.
let url1 = Bundle.main.bundleURL.appendingPathComponent("music1.mp3")
let url2 = Bundle.main.bundleURL.appendingPathComponent("music2.mp3")
@IBOutlet weak var yourButton: CustomButton!
@IBOutlet weak var yourButton2: CustomButton!
func Player(url: URL) {
do {
try player = AVAudioPlayer(contentsOf:url)
player.play()
yourButton.isSelected = true
player.delegate = self
} catch {
print(error)
}
}
func Player1(url: URL) {
do {
try player = AVAudioPlayer(contentsOf:url)
player.play()
yourButton2.isSelected = true
player.delegate = self
} catch {
print(error)
}
}
@IBAction func pushButton1(sender: UIButton) {
Player(url: url1)
}
func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
yourButton.isSelected = false
}
@IBAction func pushButton2(sender: UIButton) {
Player1(url: url2)
}
func audioPlayerDidFinishPlaying2(_ player: AVAudioPlayer, successfully flag: Bool) {
yourButton2.isSelected = false
}
Не могли бы вы показать мне, как писать «Держите сгенерированного игрока в качестве члена класса»? – risa8
@ risa8 см. Мой отредактированный ответ. – giorashc
@ risa8 проверить измененный ответ. Вы можете избавиться от метода audioPlayerDidFinishPlaying2. прочитайте объяснение – giorashc