Swift:如何播放更短的声音

问题描述:

我正在使用Swift开发SpriteKit项目,并且我想要播放更长的1秒长的声音。例如,声音文件是“嘟嘟” - 我想将它扩展为“beeeep”或“beeeeeeeeep”。我尝试了几个播放声音文件的选项,但我无法找到扩展它的方法。Swift:如何播放更短的声音

目前,我使用SKAction播放的声音:

var beep = SKAction.playSoundFileNamed("beep.caf", waitForCompletion: false) 
runAction(beep) 

任何人知道如何做到这一点?

+0

可能会将'waitForCompletion'设置为true,并将'runAction(beep)'放入循环中。 –

+0

如果您放慢声音以使声音播放更长时间,它会有道理吗? – neo

+0

@ M.kazemAkhgary我实际上已经尝试过这种方法,但我没有得到正确的结果。输出结果就像“beepbeepbeep”。 – superm0

AVAudioPlayer有一个rate属性,它可以让您以一倍到两倍的速度玩。如果一半工作,你可以使用它。

如果这样不起作用,您可以使用AVComposition从您的声音文件创建一个复合音轨。您可以选择声音文件的某些部分,然后将它们拼接在一起。