gpt4 book ai didi

ios - 由于资源未随机正确加载而导致应用程序崩溃

转载 作者:行者123 更新时间:2023-12-01 23:20:31 24 4
gpt4 key购买 nike

基本上我是在 XCode 5 中使用 Obj-C 在 Sprite Kit 上制作游戏每当我点击屏幕时,我都会使用 SKAction 来播放声音文件

[self runAction:[SKAction playSoundFileNamed:@"tap.caf" waitForCompletion:NO]];

之前我使用了相同声音的 mp3 文件,至少在点击超过 50 次后,错误不断随机弹出,有时多有时少,有时甚至不会导致错误,

所以我阅读了苹果文档并决定转换为 ima4 .caf 扩展名。我不确定它是否有影响,这种情况发生的频率要少得多。我还有 2 个通过 SKActions 播放的音频文件,但都没有加载失败。

有什么建议吗?

调试控制台输出如下:

2014-07-05 16:14:15.716 GoUp[777:60b] *** Terminating app due to uncaught exception
'Failed to Load Resource', reason: 'Resource tap.caf can not be loaded'
*** First throw call stack:
(0x306d7fd3 0x3ae86ccf 0x306d7f15 0x32e09e55 0x32dc2b2d 0xf9331 0x32de69ab 0x32f28651
0x32f236eb 0x32ef88ed 0x32ef6f97 0x306a325b 0x306a272b 0x306a0f1f 0x3060bf0f 0x3060bcf3
0x35510663 0x32f5716d 0xfcd61 0x3b393ab7)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)

只是补充一下,我尝试通过设置重复永远等待完成来检查文件是否有错误:YES SKAction 播放声音文件,(我每次都会等待它完成,否则,它可能会由于大量的行动)。它运行了至少 5 分钟没有问题,直到我决定停止该应用程序。不确定这是否确认文件没有损坏

编辑2:刚刚尝试了不同的声音文件,但使用不同的文件又发生了:(

最佳答案

我无法解释为什么会发生“崩溃”,

但是,您可以通过声明声音并将其加载到现金中来轻松解决此问题(避免每次播放声音时都加载它),如下所示:

在.h

@property (strong, nonatomic) SKAction *aSound;

在.m中在顶部点燃它:

self.aSound = [SKAction playSoundFileNamed:@"FileName.wav" waitForCompletion:NO];

然后每次你想播放声音时调用它:

[self runAction:_aSound];

此外,由于某些原因,我建议您将所有音频文件转换为.Wav,这是未压缩的(允许之前未解压缩文件的处理器读取它的速度更快)它还避免了从 Xcode 断点中拾取的许多 C 异常。

关于ios - 由于资源未随机正确加载而导致应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24587903/

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