最近我在使用CocosDenshion播放我的声音效果方面遇到了问题。声音在iPhone模拟器上播放,但不在我自己的设备上播放。我不确定我做错了什么。当然我检查了我的扬声器是否仍在工作,但他们在使用其他应用程序或iPod库时也这样做。
我只是使用这个简单的代码:
[[SimpleAudioEngine sharedEngine] playEffect:@"button.wav"];
我仔细检查了文件名,确实是button.wav。
我希望有人可以帮助我。
答案 0 :(得分:9)
我最近遇到了同样的问题而且我已经弄明白了。
我正在使用Xcode 4.3.2,似乎有一个错误。 并非您向项目添加(拖动)的所有资源都默认添加到目标。 添加资源时,请确保(除了检查复制项目到目标复选框之外)还要检查添加到目标复选框。
您可以通过单击目标图标来检查资源是否已添加到捆绑包中。在Build Phases选项卡中,检查声音文件是否包含在Copy Bundle Resources中。 如果没有,请手动添加(+添加目标)
答案 1 :(得分:4)
您可以尝试在程序的某个早期点预加载声音效果,否则它必须加载声音效果才能播放它。您可以创建一个第一个场景的splashScreen场景并加载所有资源,然后转换到第一个“实际”场景。
SimpleAudioEngine *engine = [SimpleAudioEngine sharedEngine];
[engine preloadEffect:@"Example-Sound.caf"];
答案 2 :(得分:1)
不确定是否属于这种情况,但您应该记住,如果您的文件名是“Button.wav”并且您要求playEffect:@"button.wav"
它将会播放模拟器,但不会在设备上。这种效果发生的原因是桌面上的文件系统不区分大小写,而在iOS设备上则不是。
答案 3 :(得分:0)
我有同样的问题,在这里找到。但我自己解决了。 如果您重新安装ios for ipad。默认开关(在音量上)默认为“静音音量”方法。也许我在静音时将其改为“旋转”方法。这导致所有cocos2d无法播放声音。所以我将方法重新打开并设置静音。然后SimpleAudioEngine效果很好。这是ios系统的错误。
答案 4 :(得分:0)
务必检查您的音频文件本身。单声道16位,未压缩波,采样率为441000,应该“正常工作”。我建议从在线Cocos2D示例中抓取示例.wav,例如Cowbell.wav并尝试播放该文件。