我有以下几行来预先存储声音存储单声道中的几个(短)声音(然后在需要播放时可以抓取它们)
_successSound = [SKAction playSoundFileNamed:@"success2.wav" waitForCompletion:NO];
_failureSound = [SKAction playSoundFileNamed:@"failure2.mp3" waitForCompletion:NO];
当我使用异常断点(我倾向于总是这样做)运行我的应用程序时,它会在第二行中断。删除断点,一切都按预期工作。我之前只是在播放声音时才进行“加载”(这是第一次播放时导致速度减慢),并且从未引起任何异常。
编辑:还应该补充一点,如果我将failure2声音更改为我的声音文件夹中的其他声音,则没有任何异常 - 也许这与mp3有关?
答案 0 :(得分:1)
操作系统代码可以抛出被捕获但永远不会被外部看到的异常,如果您在异常上设置断点但不需要担心,而不是您需要避免的事情,这是不方便的,只要没有未捕获的异常。
使用C ++实现的API会发生很多事情 - 抛出和捕获异常在C ++中更为常见。
答案 1 :(得分:0)
好的,所以我通过将mp3
转换为wav
来摆脱异常。如果有人知道为什么这首先是一个问题,我会非常感兴趣。