# 鸿蒙系统下fmod声音被闹钟中断后没有恢复如何解决

**URL:** https://qa.fmod.com/t/fmod/22108
**Category:** 中文支持
**Created:** [September 19, 2024, 9:52am UTC](https://qa.fmod.com/t/fmod/22108 "2024-09-19T09:52:13Z")
**Posts on this page:** 1
**Showing post:** 9

<div class="post-metadata">

### Author: ![li\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/li_fmod/32/6577_2.png) [@li\_fmod](https://qa.fmod.com/u/li_fmod)
#### Post date: [October 3, 2024, 4:36am UTC](https://qa.fmod.com/t/fmod/22108/9 "2024-10-03T04:36:36Z")

</div>

感谢你分享的信息以及让我们注意到这个问题。

经过测试后我发现，在团结引擎里为了确保音频驱动能够正确切换为快速模式（Fast Mode），需要在 FMOD 序列化之前（即预初始化阶段）完成设置。

详细的设置方式可以看一下这个链接：[Unity Integration | 11. Scripting Examples | Callback Handler](https://www.fmod.com/docs/2.02/unity/examples-callback-handler.html)

具体流程如下：

1. 新建一个 CallbackHandler 脚本

```auto
using System;
using UnityEngine;

[CreateAssetMenu(menuName = "My FMOD Callback Handler")]
public class MyFMODCallbackHandler : FMODUnity.PlatformCallbackHandler
{
    public override void PreInitialize(FMOD.Studio.System studioSystem, Action<FMOD.RESULT, string> reportResult)
    {
        FMOD.RESULT result;

        FMOD.System coreSystem;
        result = studioSystem.getCoreSystem(out coreSystem);
        reportResult(result, "studioSystem.getCoreSystem");

        // Set up studioSystem and coreSystem as desired
        coreSystem.setDriver(1); //设置快速模式
    }
}

```

1. 右键点击新建一个 MyFMODCallbackHandler  

2. 在 FMOD Settings下的 OpenHarmony 平台设置里的 Callback Handler 一栏里，选中在上一步里新建的 MyFMODCallbackHandler  

在这之后快速模式（Fast Mode）应该便可以在 FMOD 序列化之前设置成功，并且 Buffer Length 也可以设置成更合理的 512，使延迟大幅度减小。

希望这能帮到你，如果问题依然存在，还请告诉我。

---

_[View the full topic](https://qa.fmod.com/t/fmod/22108)._
