2011-07-04 53 views
3

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

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

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

我双重检查的文件名,它的确是button.wav。

我希望有人能帮助我。

回答

4

您可以尝试在程序的某个早期阶段预加载声音效果,否则必须先加载声音效果才能播放声音效果。您可以创建第一个场景的splashScreen场景并加载所有资源,然后转换到第一个“实际”场景。

SimpleAudioEngine *engine = [SimpleAudioEngine sharedEngine]; 
    [engine preloadEffect:@"Example-Sound.caf"]; 
9

我最近有同样的问题,我想通了。

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

您可以通过单击目标图标来检查是否已将资源添加到捆绑包中。在“构建阶段”选项卡中,检查声音文件是否包含在“复制包资源”中。 如果没有,手动添加它们(+添加目标)

0

我有同样的问题,并在这里找到。但我自己解决它。 如果你重新安装ios的ipad。默认开关(在音量上)默认为“静音音量”方式。也许我会在静音时将其更改为“旋转”方法。这导致所有的cocos2d无法播放声音。所以我打开了方法并将其设置为静音。然后SimpleAudioEngine运行良好。这是ios系统的错误。

0

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

1

不能确定它是否是这里的情况,但是你应该记住,如果你的文件名是“Button.wav”和你问到playEffect:@"button.wav"它将在模拟器玩,但不会在设备上。这种影响发生在桌面上的文件系统不区分大小写,而在iOS设备上则不是。