Воспроизведение случайных звуков из моих проектов в Swift 5 - PullRequest
0 голосов
/ 18 марта 2020

Я новичок в iOS. Я написал этот код, который воспроизводит только один аудиофайл при нажатии кнопки UIB. Я хотел бы воспроизводить несколько звуков в случайном порядке. Как это установить? Спасибо!

import UIKit
import AVFoundation


class ViewController: UIViewController {

    var audioPlayer: AVAudioPlayer!

    @IBAction func playButtonPressed(_ sender: UIButton) {
           if let soundURL = Bundle.main.url(forResource: "kompilacja", withExtension: "mp3") {

                do {
                    audioPlayer = try AVAudioPlayer(contentsOf: soundURL)
                }
                catch {
                    print(error)
                }

                audioPlayer.play()
            }else{
                print("Karwasz twarz! Brak pliku audio, Panie!")
            }
        }


    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }


}


1 Ответ

1 голос
/ 18 марта 2020

Поместите все имена звуковых файлов в массив и используйте метод randomElement для выбора звука.

@IBAction func playButtonPressed(_ sender: UIButton) {
    let sounds = ["kompilacja", "another sound", "yet another sound"]
    guard let sound = sounds.randomElement(),
        let soundURL = Bundle.main.url(forResource: sound, withExtension: "mp3") else { return }

    do {
        audioPlayer = try AVAudioPlayer(contentsOf: soundURL)
    }
    catch {
        print(error)
    }

    audioPlayer.play()
}
...