只要在原生环境下调用过录音功能,录音结束后,游戏中原 cc.AudioSource + cc.AudioClip 方式播放的音频都没有声音了。
这个问题我找 ai 都解决不了,各种录音结束后 对 AVAudioSession 的恢复,我就不说了,AI 都快晕了。
ai 还提供以下方案在 录音结束后调用重置 AudioEngine-inl.mm 都不行:
在 AudioEngine-inl.mm 做了以下代码重置都不行:
extern "C" {
void forceRestoreCocosAudioSession() {
// 这是一个从外部调用,用来强制恢复 Cocos 音频会话的函数
if (s_AudioEngineSessionHandler != nullptr) {
// s_AudioEngineSessionHandler 是 Cocos 引擎内部的音频会话管理者
NSLog(@"[Cocos Engine] A request to restore the audio session has been received. Reactivating...");
// 调用它自己的恢复方法,这是最安全、最正确的做法
[s_AudioEngineSessionHandler reactiveAudio];
} else {
NSLog(@"[Cocos Engine] A request to restore the audio session was received, but the handler is not available.");
}
}
}
官方开发能不能稍微指点一下哪里的问题。