2015-07-21 71 views
2

我想要的聲音效果增加了遊戲應用程序,我在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() 
} 

我能得到的聲音玩,但它似乎不會播放聲音,直到當前正在播放的聲音結束。我如何獲得它,以便多個聲音可以一次播放並相互重疊?

另外,每次播放聲音時都會降低幀速率。有沒有辦法解決這個問題?

回答

0

我相信你有使用

jumpSoundPlayer.play() 

也是唯一的解決方案,以降低幀速率少一點之前,使用

jumpSoundPlayer.prepareToPlay() 

,是在使用前設置所有AVAudioPlayers或在比賽開始時。