Вот способ, которым вы можете достичь этого в кратчайшие сроки.
Прежде всего вам нужно выполнить это действие в viewWillAppear
, если вы следуете сообщению, которое вы включили в свой вопрос.
Затем создайте audioPlayer
, который будет воспроизводить ваш звук, как показано ниже:
var audioPlayer: AVAudioPlayer?
затем присвойте URL
из Bundle
let resourcePath = Bundle.main.resourcePath
let stringURL = resourcePath! + "foo.mp3"
let url = URL.init(fileURLWithPath: stringURL)
Затем воспроизведите его до того, как появится ваше предупреждение:
audioPlayer?.play()
Теперь создайте свое оповещение как:
let alert = UIAlertController(title: "Alert", message: "Message", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler: { action in
self.audioPlayer?.stop()
}))
audioPlayer?.play()
self.present(alert, animated: true, completion: nil)
И ваш полный код будет:
import UIKit
import AVFoundation
class ViewController: UIViewController {
var audioPlayer: AVAudioPlayer?
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewWillAppear(_ animated: Bool) {
let resourcePath = Bundle.main.resourcePath
let stringURL = resourcePath! + "foo.mp3" //change foo to your file name you have added in project
let url = URL.init(fileURLWithPath: stringURL)
audioPlayer = try? AVAudioPlayer.init(contentsOf: url)
audioPlayer?.numberOfLoops = 1
let alert = UIAlertController(title: "Alert", message: "Message", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler: { action in
self.audioPlayer?.stop()
}))
audioPlayer?.play()
self.present(alert, animated: true, completion: nil)
}
}