XGameStreamingGetStreamPhysicalDimensions

获取视频流在流式处理客户端上呈现时的物理大小。

语法

HRESULT XGameStreamingGetStreamPhysicalDimensions(
         XGameStreamingClientId client,
         uint32_t* horizontalMm,
         uint32_t* verticalMm
)

参数

client _In_
类型:XGameStreamingClientId

要查询其物理大小的客户端。

horizontalMm _Out_
类型:uint32_t*

视频流的水平轴的大小(以毫米为单位)。

verticalMm _Out_
类型:uint32_t*

视频流的垂直轴的大小(以毫米为单位)。

返回值

类型:HRESULT

如果成功,则返回 S_OK;否则返回错误代码。

可能的错误

错误代码 错误值 错误原因
E_GAMESTREAMING_NOT_INITIALIZED 0x89245400 XGameStreaming 运行时尚未初始化。 在调用其他 API 之前,请先调用 XGameStreamingInitialize
E_GAMESTREAMING_CLIENT_NOT_CONNECTED 0x89245401 指定客户端未连接。
E_GAMESTREAMING_NO_DATA 0x89245402 请求的数据目前不可用, 稍后或许可用。

有关错误代码的列表,请参阅错误代码

备注

可使用此方法来确定流是否将被发送到较小的设备(例如,智能手机)。

这样,你就可以根据设备大小呈现更易于玩家的设备使用的体验(例如,使用更大的字号)。

如需游戏响应流的物理维度的更改,那么应该通过 XGameStreamingRegisterClientPropertiesChanged 注册回调。

示例

以下代码示例演示如何使用 XGameStreamingGetStreamPhysicalDimensions 函数为流式客户端查找最小维度。

void GetSmallestStreamingClient(uint32_t& widthMm, uint32_t& heightMm)
    {
        // If we don't know what the smallest client is, then search through them to find it
        if (m_smallestClient == XGameStreamingNullClientId)
        {
            for (const auto client : m_streamingClients)
            {
                if (client.clientId != XGameStreamingNullClientId)
                {
                    uint32_t clientWidthMm = 0;
                    uint32_t clientHeightMm = 0;
                    if (SUCCEEDED(XGameStreamingGetStreamPhysicalDimensions(client.clientId, &clientWidthMm, &clientHeightMm)))
                    {
                        if (clientWidthMm < m_smallestClientWidthMm)
                        {
                            m_smallestClientWidthMm = clientWidthMm;
                            m_smallestClientHeightMm = clientHeightMm;
                        }
                    }
                }
            }
        }

        widthMm = m_smallestClientWidthMm;
        heightMm = m_smallestClientHeightMm;
    }

要求

头文件: xgamestreaming.h

库:xgameruntimelib

支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机

另请参阅

XGameStreaming
XGameStreamingRegisterClientPropertiesChanged
XGameStreaming