加载声音时引发异常,但一切正常



我有以下几行在声音存储单例中预加载几个(短)声音(当需要播放时,可以从中获取)

_successSound = [SKAction playSoundFileNamed:@"success2.wav" waitForCompletion:NO];
_failureSound = [SKAction playSoundFileNamed:@"failure2.mp3" waitForCompletion:NO];

当我使用异常断点运行应用程序时(我通常会这样做),它会在第二行中断。删除断点后,一切都按预期进行。我以前只在播放声音时才进行这种"加载"(第一次播放时会导致速度减慢),而且从未引起任何异常。

编辑:还应该补充一点,如果我在声音文件夹中将failure2声音更改为其他声音,没有任何例外——也许这与它是mp3有关?

操作系统代码可以抛出被捕获的、外部永远看不到的异常,如果您在异常上设置断点,这很不方便,但无需担心,也无需避免,只要没有未捕获的异常。

这种情况在C++中实现的API中经常发生——抛出和捕获异常在C++中更为常见。

好的,所以我通过将mp3转换为wav来消除异常。如果有人知道为什么这是一个问题,我会非常感兴趣。

最新更新