IOS播放admob广告后,游戏声音没了

试了,没用。播放时AudioSource.stop(), 广告关闭时AudioSource.play();没什么用。。。。

遇到过,说是要改cocos的一个什么

是xcode里的什么?还是cocos这边的什么??


看看这个是否可以

没用。[[AVAudioSession sharedInstance] setActive:YES error:&error];这样的早试过了。

无解了??就我遇到这问题?在github上也看到遇到一样问题的老外,也是无人理会。。服了。。

这问题最后解决了吗?

可能是音频中断导致的,可以打印下音频中断和恢复的通知

你把这个贴每天顶一次 顶他一年看下有没有人能解决

顶下,同样有个问题,是播放webview 中的视频,回来后音效就没有声音,或者很短,奇怪的是点是蓝牙耳机正常,外放必现,3.6.3出的问题,试了3.8.6复现了,跟这个感觉类似

1赞

此问题是:在ios端拉起广告后没有触发音频中断和恢复事件。
修复方法为:
尝试在
广告拉起之前调用:alcMakeContextCurrent(nullptr);
广告关闭后调用:
[[AVAudioSession sharedInstance] setActive:YES error:&error];
alcMakeContextCurrent(s_ALContext);

解决了吗?

这个就是解决方法。

这个试了,如果在广告拉起之前调用:alcMakeContextCurrent(nullptr); 游戏会挂,挂掉的位置是CC ASSERT(res);

在广告拉起和关闭的回调中:

  • (void)didDisplayAd:(nonnull MAAd *)ad {
    // 其他操作
    // 添加音效暂停
    cc::AudioEngine::pauseAll();
    }

  • ( void )didHideAd:( nonnull MAAd *)ad {
    // 其他操作
    // 添加音效恢复
    cc::AudioEngine::resumeAll();
    }

自定义引擎:




报错的地方处理下:

本身这个ios上音效的实现一堆问题。

以上是我实现的方案

非常感谢,我试一下

确实可行,问题解决了

感谢分享 确实可行! :smiley:

我5月提的问, 9月终于有人解答了,公司都瘠薄快黄了。 :rofl:

可行,非常感谢。我开发原生 iOS 接 AppLovinMax 聚合广告平台,几个月前就发现这个问题,觉得是某一些广告会出问题就没管,现在大部分广告都有问题了,才意识到要修理修理引擎了。
大部分时间在 JS 代码层工作,每次需要修改底层时都束手无策,(我连#include "audio/include/AudioEngine.h"都找了半天),多亏有这么详细的方案。
这个方案希望官方看到并吸收进正式引擎中。
(有一些广告依然会造成声音无法播出,但是下个广告好像又好了,怀疑是调用时机的问题)


测试了一阵子,还是有不少广告有问题,不是很靠谱的样子。
现在的广告里面很多都带个试玩,一般做试玩的都是用的 cocos。是不是因为试玩里面的背景音乐强占了音频资源?