让声音正常工作

时间:2015-07-21 05:27:29

标签: swift audio xcode6

我正在尝试为我在Xcode 6中制作的游戏应用添加声音效果。以下是我用来播放声音的代码:

var jumpSoundPlayer:AVAudioPlayer = AVAudioPlayer()
var jumpAudioPath:String = ""
var jumpSoundError: NSError? = nil

func setUpSoundPlayers(){
    jumpAudioPath = NSBundle.mainBundle().pathForResource("Jump", ofType: "mp3")!
    jumpSoundError = nil
    jumpSoundPlayer = AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: jumpAudioPath), fileTypeHint: "mp3", error: &jumpSoundError)
}

func playJumpSound(volume:Float = 1){
    jumpSoundPlayer.volume = volume
    jumpSoundPlayer.play()
}

我可以播放声音,但似乎在播放完成之前它不会发出声音。我怎样才能让多个声音一次播放并相互重叠?

此外,每次播放声音时,帧速率都会降低一点。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我相信你必须使用

jumpSoundPlayer.prepareToPlay()

之前使用

jumpSoundPlayer.play()

同样是降低帧速率的唯一解决方案是在使用它们之前或在游戏开始时设置所有AVAudioPlayers。