设置运行时深度帧速率不成功

时间:2016-06-24 06:30:34

标签: google-project-tango

我正在尝试设置运行时深度帧速率但不成功。没有返回错误,但深度帧速率保持不变。我使用以下代码设置深度帧速率。

TangoErrorType SetRuntimeDepthFrameRate(uint32_t frameRate)
{
    TangoConfig runtimeConfig = TangoService_getConfig(TANGO_CONFIG_RUNTIME);
    if (runtimeConfig == nullptr) {
        LOGE("failed to get runtime config");
        return TANGO_ERROR;
    }
    TangoErrorType err = TangoConfig_setInt32(runtimeConfig, "config_runtime_depth_framerate", frameRate);
    if (err != TANGO_SUCCESS) {
        LOGE("failed to set runtime depth framerate to %d", frameRate);
        return err;
    }
    err = TangoService_setRuntimeConfig(runtimeConfig);
    if (err != TANGO_SUCCESS)
        LOGE("ailed to set runtime config");

    LOGI("the runtime depth framerate is set to %d", GetRuntimeDepthFrameRate());

    return err;
}

我使用以下代码查询运行时深度帧速率。

    int GetRuntimeDepthFrameRate() const {
    TangoConfig runtimeConfig = TangoService_getConfig(TANGO_CONFIG_RUNTIME);
    if (runtimeConfig == nullptr) {
        LOGE("failed to get runtime config");
        return -1;
    }
    int32_t depthFrameRate;
    TangoErrorType err = TangoConfig_getInt32(runtimeConfig, "config_runtime_depth_framerate", &depthFrameRate);
    if (err != TANGO_SUCCESS) {
        LOGE("failed to get runtime depth framerate");
        return -1;
    }
    return depthFrameRate;
}

运行时深度帧速率永远不会改变,它始终为5.当我尝试将深度速率设置为0时,我的程序一直调用深度回调,这意味着速率没有成功设置。

我在做什么有什么不对吗? 感谢你提前得到任何答案。

2 个答案:

答案 0 :(得分:1)

这有点旧了但也许它会对某人有所帮助:经过一些实验,我发现在运行时使用ENABLE_DEPTH_PERCEPTION_BOOL(我使用Unity时)仍无法通过API打开/关闭深度感知SDK)。根据需要打开和关闭它(以节省电池和CPU)的唯一方法是从深度开始,然后在OnTangoServiceConnected()之后使用RUNTIME_DEPTH_FRAMERATE将帧速率设置为0。稍后通过将帧速率设置为5来启用它可以正常工作。

答案 1 :(得分:0)

我也无法将帧速率设置为5以外的任何值,而不是C ++或Java。

在Yellowstone平板电脑和Lenovo Phab2 Pro上进行测试,Tango SDK版本Wasat(版本1。44,2016年9月)。