Хорошо, я просмотрел это и пробовал много разных способов воспроизвести звук при нажатии кнопки.
Как я могу воспроизвести звук при нажатии кнопки в режиме быстрого 3? У меня есть звук в папке с именем Sounds, а имя - ClickSound.mp3
Хорошо, я просмотрел это и пробовал много разных способов воспроизвести звук при нажатии кнопки.
Как я могу воспроизвести звук при нажатии кнопки в режиме быстрого 3? У меня есть звук в папке с именем Sounds, а имя - ClickSound.mp3
Пользователь ниже этой функции
//MARK:- PLAY SOUND
func playSound() {
let url = Bundle.main.url(forResource: "ClickSound", withExtension: "mp3")!
do {
player = try AVAudioPlayer(contentsOf: url)
guard let player = player else { return }
player.prepareToPlay()
player.play()
} catch let error as NSError {
print(error.description)
}
}
сначала импортировать AudioToolbox импорт AVFoundation
Надеюсь, что он работает:)
Вы должны оставить игрока в распоряжении, получить его в свойстве контроллера вашего вида.
Единственный реальный улов в том, что вы должны хранить своего игрока как собственность или другую переменную, которая не будет немедленно уничтожена - если вы нет, звук немедленно остановится.
var player : AVAudioPlayer?
func playSound(){
let path = Bundle.main.path(forResource: "alert", ofType:"mp3")!
let url = URL(fileURLWithPath: path)
do {
let sound = try AVAudioPlayer(contentsOf: url)
self.player = sound
sound.numberOfLoops = 1
sound.prepareToPlay()
sound.play()
} catch {
print("error loading file")
// couldn't load file :(
}
}
Возможно, вы захотите использовать SwiftySound. Это позволяет легко воспроизводить звуки в Swift 3.
Sound.play(file: "ClickSound.mp3")
Более простой способ сделать это - поставить следующую строку кода в нажатой кнопке (Примечание: работает только в комплекте спрайтов):
run(SKAction.playSoundFileNamed("ClickSound.mp3", waitForCompletion: false))
Надеюсь, что это поможет:)