[OK]を私はこれを見て、ボタンがクリックされたときに音を再生するための多くの異なる方法を試してみました。
Swift 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
それがうまくいくことを願っています:)
プレーヤーが破棄されないようにし、View Controllerのプロパティで取得する必要があります
唯一の本当の問題は、プレーヤーをすぐに破壊されないプロパティまたは他の変数として保存する必要があることです。そうしないと、音がすぐに停止します。
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 and Swift 4。
Sound.play(file: "ClickSound.mp3")
これを行う簡単な方法は、ボタンを押した関数に次のコード行を追加することです(注:Spriteキットでのみ機能します)。
run(SKAction.playSoundFileNamed("ClickSound.mp3", waitForCompletion: false))
お役に立てれば :)