gpt4 book ai didi

ios - 游戏运行一段时间后 AVAudioPlayer 返回 nil

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:58:24 26 4
gpt4 key购买 nike

我目前正在开发一款小游戏,其中的气球会从屏幕底部浮起,玩家必须在它们到达顶部之前将其弹出。

每个气球对象都包含一个方法来安全地设置它是 AVAudioPlayer 的:

func setUpAudioPlayerWithFile(file:NSString, type:NSString) -> AVAudioPlayer? {

let path = NSBundle.mainBundle().pathForResource(file as String, ofType: type as String)
let url = NSURL.fileURLWithPath(path!)

var audioPlayer:AVAudioPlayer?

do {
try audioPlayer = AVAudioPlayer(contentsOfURL: url)
}catch {
print("BALLOON ERROR - AudioPlayer not avaliable.")
}

return audioPlayer
}

然后在每个气球 init() 方法中运行以下代码:

if let popSound = self.setUpAudioPlayerWithFile("PopSound", type: "wav") {
self.popSound = popSound
}

在游戏开始几分钟之前,它工作得非常好。此时我开始收到“气球错误 - 音频播放器不可用”。在控制台中为从那时起生成的每个气球指示未找到我的资源?

此时我的 SKEmitterNodes 也开始返回 nil。 (2016-08-13 18:59:54.527 Stop & Pop[256:13785] *** -[NSKeyedUnarchiver initForReadingWithData:]: 数据为 NULL)

有什么明显的我遗漏的东西可能导致这些错误吗?

希望我提供了足够的信息,感谢您的阅读。

最佳答案

不……这行不通。您必须将 audioPlayer 变量实例化到类级别。

我尝试这样做,在类级别的另一个 ViewController 上实例化了 var audioPlayer。

最好的办法是将此方法本地化到您的 ViewController 中,并将 audioPlayer 放在这里:

class YourClassName : Type {
var audioPlayer : AVAudioPlayer?

yourMethodForCalling() {

}

关于ios - 游戏运行一段时间后 AVAudioPlayer 返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38930065/

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