微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决我可以将设置的动态 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 举报,一经查实,本站将立刻删除。