Swift 3声音播放

时间:2016-11-15 04:35:45

标签: swift3 avfoundation avaudioplayer

好的我已经研究了这个,并且在单击按钮时尝试了许多不同的方式播放声音。

在swift 3中点击按钮时如何播放声音? 我的声音在名为Sounds的文件夹中,名称为ClickSound.mp3

4 个答案:

答案 0 :(得分:18)

此功能以下的用户

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

希望它有效:)

答案 1 :(得分:14)

您必须防止播放器被丢弃,将其置于视图控制器的属性中

  

唯一真正的问题是您必须将您的播放器存储为属性   或其他不会立即被摧毁的变量 - 如果你   不要,声音会立即停止。

source:

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

答案 2 :(得分:5)

您可能想要使用SwiftySound。它可以让你在Swift 3和Swift 4中轻松播放声音。

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

答案 3 :(得分:3)

更简单的方法是在按钮按下功能中放入以下代码行(注意:仅适用于精灵套件):

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

希望这会有所帮助:)