# 游戏秒级启动场景中闪屏播放与游戏音频恢复不同步，应该如何解决

在游戏秒级启动场景中，进入前台后，系统会立即恢复引擎（resume），游戏内部音频也会被同时恢复，若此时ArkTS层仍在播放闪屏动画，则导致“画面仍在闪屏，声音提前播放”的不同步问题。

为解决上述问题，我们提供两种可选方案：

*   **方案一**：基于闪屏播放完成标识控制引擎恢复
    
    在游戏启动初期设置splashScreenFinishFlag=false，表示闪屏未结束，引擎不应恢复。
    
    ```
    // TuanjiePlayerAbility.ets
    onCreate(): void {
        globalThis.splashScreenFinishFlag = false;
    }
    private onResume(): void {
        if (globalThis.splashScreenFinishFlag) {
            unity.nativeOnResume();
        }
    }
    ```
    
    闪屏动画播放完毕后：
    
    1.  将splashScreenFinishFlag设置为true。
    2.  主动调用引擎的resume()方法。
    
    ```
    // Splash.ets
    private splashScreenFinish() {
        globalThis.splashScreenFinishFlag = true;
        unity.nativeOnResume();
    }
    ```
    
*   **方案二**：引擎侧支持音频静音/取消静音能力
    
    在进入秒级启动恢复流程时，开发者在ArkTS层主动调用引擎静音接口，阻断闪屏阶段所有游戏内的音频输出。
    
    闪屏播放结束后，开发者再调用取消静音接口恢复引擎音频。