我可以将设置的动态 ISpatialAudioClient 对象限制为静态值吗?

问题描述

我正在尝试解决游戏 Grand Theft Auto 5(或许还有其他游戏)与 Dolby Access 虚拟空间音效的交互问题。问题是当 GTA 5 启动时,它将空间声音格式设置为关闭。 空间声音格式只能通过两种方式改变:

  1. 用户在 Windows 设置中手动设置,或

  2. 通过 ISpatialAudioClient::GetMaxDynamicObjectCount 函数 对于应用程序返回的动态对象(导致 0 在这种情况下是 GTA 5)。

因此,本质上,我需要帮助强制 Windows 始终将“动态对象”视为始终在调用时返回静态值。

我是 C++ 的初学者,正在尝试制作一个控制台应用程序。代码如下:

#include <spatialaudioclient.h>

int main() {
    HRESULT ActivateSpatialAudioObject(
        AudioObjectType         AudioObjectType_AudioObjectType_Dynamic,ISpatialAudioObject     **audioObject
    );
    HRESULT GetMaxDynamicObjectCount(
        UINT32 * 1
    );
    HRESULT OnAvailableDynamicObjectCountChange(
        ISpatialAudioObjectRenderStreamBase * sender,LONGLONG                            0,UINT32                              1
    );
}

我在正确的轨道上吗?

Source

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)