2015-07-21 4 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.prepareToPlay() 

перед использованием

jumpSoundPlayer.play() 

также единственное решение понизить частоту кадров немного меньше, чтобы настроить все AVAudioPlayers перед их использованием или в начале игры.

Смежные вопросы