gpt4 book ai didi

xcode - 分层声音重复? swift

转载 作者:行者123 更新时间:2023-11-28 09:13:23 25 4
gpt4 key购买 nike

我创建了一个音频播放器。我可以一直按我的按钮,它会继续重播声音。然而,当我每次重放声音时快速按下按钮时,如果当前声音开始而前一个声音仍在播放,它会切断前一个声音。如何在不停止先前声音的情况下继续重复声音?有点像叠加相同的声音?

func waterDropPressed(sender: UIButton!) {

// Randomize a number for the sound
var soundRandomNumber:Int = Int(arc4random_uniform(3))

// Construct a string with the random number
var soundFile:String = insultArray[soundRandomNumber]

var insultURL = NSBundle.mainBundle().URLForResource(soundFile, withExtension:"mp3")

insultPlayer = AVAudioPlayer(contentsOfURL: insultURL, error: nil)
insultPlayer!.prepareToPlay()
insultPlayer!.play()

}

最佳答案

我最近在我正在开发的应用程序中解决了一个类似的问题。我最终做的是为每个“层”创建一个不同的 AVAudioPlayer。如果您知道将在任何时候播放的数字,您可以考虑为每个“层”创建一个 AVAudioPlayers 池。 底线是这些 AVAudioPlayer 不能同时播放两个音频流(即使是同一个音频流)。当我在我的 AVAudioPlayer 池中搜索可用的 AVAudioPlayer 时,我可以通过读取播放器的 playing 属性来确定哪些播放器当前正在播放声音。我,基本上,捕获第一个没有播放声音的并重新使用它。另一种选择是在您需要重叠声音时动态生成一个新的 AVAudioPlayer,但这会在您初始化 AVAudioPlayer 并播放声音到声音从设备中发出时产生一点延迟。希望这对您有所帮助。祝你好运。

关于xcode - 分层声音重复? swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28521958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com