ios上音乐播放有问题 总是莫名奇妙的没有掉 v1.4最新

从1.3开始 ios上音乐循环一直会偶尔循环不起来,或者切后台再回来后播音效没声音

这个问题一直没修复 啊。ios上 声音 音乐 音效会莫民奇妙的没有掉,再调用audioEngine.play也不会出任何声音

我也发现了,尤其是多次加载场景以后,也完全不能用getState()来判断是否正在播放

1赞

@nantas

本来想自己调试一下 结果 发现稳出bug的方式,

  1. cc.audioEngin.play(url,true) 播放一个 循环音乐
  2. 时在XCODE上 AudioEngine.cpp里 play2d函数打个断点
    3.cc.audioEngin.play(url2,false) 播放一个音效
    4.卡一秒后再把断点继续

马上 就出现问题了 第一步播放的循环音乐 无声了

我已经出现n次了,这个绝对是个bug。

1赞

谁的bug过来认领一下啊 播着播着就没声音 游戏瞬间变山寨了

1赞

应该是这里的问题

@jare @nantas @wangzhe @panda @youyou

你好,这个问题已经建立 issue 反馈给相关开发人员了哈~

你看看你项目工程AppDelegate.cpp中是否用到了SimpleAudioEngine相关的代码。

// This function will be called when the app is inactive. Note, when receiving a phone call it is invoked.
void AppDelegate::applicationDidEnterBackground()
{
    Director::getInstance()->stopAnimation();

//    SimpleAudioEngine::getInstance()->pauseBackgroundMusic(); // Remove this line
// Remove all SimpleAudioEngine invocations
}

// this function will be called when the app is active again
void AppDelegate::applicationWillEnterForeground()
{
    Director::getInstance()->startAnimation();

//    SimpleAudioEngine::getInstance()->resumeBackgroundMusic(); // remove this line
// Remove all SimpleAudioEngine invocations
}

如果有,删除后再试试。目前creator只用到了AudioEngine,如果是早期创建出来的工程模版,可能会包含SimpleAudioEngine的调用。

没有

而且只有ios上会这样 pc 安卓上不会出现这个问题

能搞个复现问题的demo给我们调试一下么?
目测那个返回INVALID_AUDIO_ID是因为32个openal的播放实例都被占用满了。

我用测试例跟踪了一下,是能够释放audio source的。
估计测试例没有覆盖到你的使用方式。麻烦整理一下demo吧,我们复现后会尽快修复。

demo肯定 是做不出来的,我们都是实际使用中出现的问题,你按我说的楼上的方法就能先试出一个问题来 没准 你就发现bug点了

肯定是对这个 状态的维护有问题

AudioEngine::play2d的哪一行打断点?

我们也遇到了,xcode 随便哪里下断点,只要中断了,背景音乐立马挂掉,恢复不了,这应该是有问题的吧

用cpp-tests/NewAudioEngineTest/AudioControlTest试过N次了,下断点,恢复,背景音乐还在的。