0

cocos2d-iphone 1.0.1.

我在我的设备中安装了其他 cocos2d-iphone 游戏时注意到了这一点,比如 Kingdom Rush。

基本上,大多数时候,音频都很好(几乎总是)。但是突然,在一个意想不到的时刻,背景音乐停止播放,只有音效起作用。有时,杀死应用程序并不足以修复它。

在我的cocos2d-iphone游戏中也会发生这种情况,控制台中没有任何提示。我SimpleAudioEngine用来播放背景音乐和音效。

杀死我的应用程序,重新启动 Xcode 不会修复它。我通常只是忽略这个问题,在不久的将来,它突然消失了。我怀疑重新启动设备往往会解决这个问题,但这超出了重点:我应该知道它为什么会发生。

我还尝试预加载我的背景音乐。不会改变任何事情。

我相信我在使用 .mp3 和 .wav 格式时都遇到过这个问题。

为什么会发生这种情况?

4

1 回答 1

1

不知道确切的原因,但我能想到一些:

  • 内存警告导致音频流中断
  • CocosDenshion 未正确处理音频中断(日历通知、传入短信/电话)
  • 播放其他流媒体音乐(例如视频播放器、iPod 音乐播放器)
  • 音乐不是流式传输而是缓冲的,这意味着音乐正在与所有其他效果争夺音频缓冲区 - 最终播放了如此多的音频效果,以至于旧缓冲区必须取消播放(可能是音乐)以允许新效果玩
  • 有缺陷的设备(因为它发生在其他应用程序中......)
  • CocosDenshion 中的错误(检查 cocos2d 问题跟踪器和论坛是否有任何未解决的音频错误)

如果您使用 playBackgroundMusic API 流式传输音乐而不是缓冲音乐,我认为您可以排除后者。

于 2013-01-18T09:15:37.077 回答