“要移除的设备 ID 没有对应的在用设备”。在调用 ReplaceOutput 时,若声音引擎无法找到与所提供 AkOutputDeviceID 匹配的在用设备,则将出现此问题。
推荐的解决步骤:
使用 Debug 版本库,将调试程序连接至游戏,然后重现相同场景。
检查供替换所用的 AkOutputDeviceID 是否与 AK::SoundEngine::Init 期间使用的 AkOutputDeviceID 匹配。注意,若所提供 AkInitSettings::settingsMainOutput 中的 audioDeviceShareset 为 0,则初始 AkOutputDeviceID 将是 System 共享集的 ID。该共享集使用所提供 AkInitSettings::settingsMainOutput 中的 idDevice 混音。
检查供替换所用的 AkOutputDeviceID 是否与之前通过 AK::SoundEngine::AddOutput() 或 AK::SoundEngine::ReplaceOutput() 返回的 AkOutputDeviceID 匹配。
检查是否使用所述 AkOutputDeviceID 调用了 AK::SoundEngine::RemoveOutput()。