Воспроизведение звука щелчка всякий раз, когда я нажимаю на все мое приложение внутри - PullRequest
2 голосов
/ 21 марта 2019

В моем приложении для нажатия кнопки или любого касания мне нужно воспроизвести один звуковой сигнал при щелчке пользователя или касании.Я добавил этот код в AppDelegate:

var audioPlayer: AVAudioPlayer?
func playSound() {
        let audioFileURL = Bundle.main.url(forResource: "/Sound/music1", withExtension: "mp3")
        do {
            try audioPlayer = AVAudioPlayer(contentsOf: audioFileURL!)
        } catch let error {
            print(error.localizedDescription)
        }
        audioPlayer?.play()
    }

Я не знаю, как объединить или передать эти методы для всех моих нажатий и нажатий кнопок, чтобы воспроизвести этот звуковой сигнал.Я не хочу добавлять в каждом нажатии кнопки в каждом VC.Любая помощь с динамическими решениями для нажатия кнопки и любого события касания в моем приложении?

1 Ответ

0 голосов
/ 21 марта 2019

Ну, вы можете вызывать функцию playSound () в каждом действии для кнопок, если вам нужны разные жесты, например, долгим нажатием вы можете использовать Gesture Recognizer.

Пример, если вам нужно воспроизвести простой звуковой сигнал при нажатии кнопки, просто вызовите playSound () внутри действия @IBAction кнопки, но вам нужно воспроизвести звуковой сигнал об ошибке, если пользователь нажимает кнопку в течение длительного периода времени, поэтому добавьте UILongPressGestureRecognizer в ваши кнопки следующим образом: enter image description here

Таким образом, вы можете связать распознаватель жестов с вашим кодом, например, с простым действием @IBAction:

enter image description here

Но это просто разные жесты, если вам нужен простой звуковой сигнал, почему бы вам не попробовать это:

@IBAction func testAction(_ sender: UIButton) {
     playSound()
}
...