Подтвердить что ты не робот

Звуковая игра Swift 3

Хорошо, я просмотрел это и пробовал много разных способов воспроизвести звук при нажатии кнопки.

Как я могу воспроизвести звук при нажатии кнопки в режиме быстрого 3? У меня есть звук в папке с именем Sounds, а имя - ClickSound.mp3

4b9b3361

Ответ 1

Пользователь ниже этой функции

 //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

Надеюсь, что он работает:)

Ответ 2

Вы должны оставить игрока в распоряжении, получить его в свойстве контроллера вашего вида.

Единственный реальный улов в том, что вы должны хранить своего игрока как собственность или другую переменную, которая не будет немедленно уничтожена - если вы нет, звук немедленно остановится.

источник:

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 :(
        }
}

Ответ 3

Возможно, вы захотите использовать SwiftySound. Это позволяет легко воспроизводить звуки в Swift 3.

Sound.play(file: "ClickSound.mp3")

Ответ 4

Более простой способ сделать это - поставить следующую строку кода в нажатой кнопке (Примечание: работает только в комплекте спрайтов):

run(SKAction.playSoundFileNamed("ClickSound.mp3", waitForCompletion: false))

Надеюсь, что это поможет:)