cocos2d-iphone游戏有时会停止播放背景音乐

时间:2013-01-17 21:09:32

标签: cocos2d-iphone

cocos2d-iphone 1.0.1

我注意到我的设备中安装了其他cocos2d-iphone游戏,例如Kingdom Rush。

基本上,大多数时候,音频很好(几乎总是)。但突然之间,在一个意想不到的时刻,背景音乐停止播放,只有声音效果。有时,杀死应用程序将不足以解决它。

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

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

我也试过预加载我的背景音乐。不会改变一件事。

我相信我遇到过.mp3和.wav格式的问题。

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:1)

不知道具体原因,但我能想到一些:

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

如果您使用playBackgroundMusic API来播放音乐而不是缓冲音乐,我认为您可以排除后者。