3

最近我在使用 CocosDenshion 播放音效时遇到问题。声音在 iPhone 模拟器上播放,但不在我自己的设备上。我不确定我做错了什么。当然,我检查了我的扬声器是否仍在工作,但他们在使用其他应用程序或 iPod 库时会这样做。

我只是使用这个简单的代码:

[[SimpleAudioEngine sharedEngine] playEffect:@"button.wav"];

我仔细检查了文件名,确实是 button.wav。

我希望有人可以帮助我。

4

5 回答 5

9

我最近遇到了同样的问题,我已经解决了。

我正在使用 Xcode 4.3.2,似乎有一个错误。默认情况下,并非您添加(拖动)到项目的所有资源都添加到目标中。添加资源时,请确保(除了选中将项目复制到目标复选框之外)您还选中添加到目标复选框。

您可以通过单击目标图标来检查资源是否已添加到捆绑包中。在 Build Phases 选项卡中,检查声音文件是否包含在 Copy Bundle Resources 中。如果没有,请手动添加它们(+添加目标)

于 2012-04-07T17:50:40.757 回答
4

您可以尝试在程序的某个较早的时间点预加载音效,否则它必须先加载音效才能播放。您可以创建一个作为第一个场景的 splashScreen 场景并加载所有资源,然后过渡到第一个“实际”场景。

    SimpleAudioEngine *engine = [SimpleAudioEngine sharedEngine];
    [engine preloadEffect:@"Example-Sound.caf"];
于 2011-12-21T22:25:00.147 回答
1

不确定这里是否是这种情况,但您应该记住,如果您的文件名是“Button.wav”并且您要求playEffect:@"button.wav"它将在模拟器上播放,但不会在设备上播放。之所以会出现这种效果,是因为桌面上的文件系统不区分大小写,而在 iOS 设备上则不然。

于 2013-05-15T20:40:52.763 回答
0

我有同样的问题,在这里找到。但是我自己修。如果你为 ipad 重新安装 ios。默认开关(在音量上)默认为“静音”方法。也许我在静音时将其更改为“旋转”方法。导致所有的 cocos2d 都不能播放声音了。所以我把方法转回去并关闭静音。然后 SimpleAudioEngine 运行良好。这是ios系统的bug。

于 2012-05-24T07:33:23.687 回答
0

确保检查您的音频文件本身。采样率为 441000 的单声道 16 位未压缩波应该“正常工作”。我建议从在线 Cocos2D 示例中获取示例 .wav,例如 Cowbell.wav 并尝试播放该文件。

于 2012-11-28T09:08:46.787 回答