首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fmod getDriverInfo失败

Fmod getDriverInfo失败
EN

Stack Overflow用户
提问于 2016-02-04 15:19:52
回答 1查看 154关注 0票数 1

在win7中使用fmod组件播放声音,在初始化组件时遇到了一些问题。代码如下。

代码语言:javascript
复制
   FMOD::Memory_Initialize(0, 0, FMOD_AllocCallback,   FMOD_ReallocCallback,     FMOD_FreeCallback);


    result = FMOD::System_Create(&m_pFMOD);
    if (result != FMOD_OK)
    {
        //fprintf(stderr, ERR_NOSOUND, result, FMOD_ErrorString(result));
        DREAMLAND_RUNINFO(L"[FMod] System_Create error:%s", Utf82WideChar(FMOD_ErrorString(result)).c_str());
        m_pFMOD = NULL;
        return false;
    }

    result = m_pFMOD->getVersion(&version);
    if (result != FMOD_OK)
    {
        RUNINFO(L"[FMod] getVersion error:%s", Utf82WideChar(FMOD_ErrorString(result)).c_str());
        m_pFMOD->release();
        m_pFMOD = NULL;
        return false;
    }
    if (version < FMOD_VERSION)
    {
    RUNINFO(L"[FMod]version < FMOD_VERSION error:%s", Utf82WideChar(FMOD_ErrorString(result)).c_str());
        m_pFMOD->release();
        m_pFMOD = NULL;
        return false;
    }
    const int iLength = 1024;
    char szName[iLength] = {0};
    FMOD_GUID sFmodGuid;
    result = m_pFMOD->getDriverInfo(0, szName, iLength, &sFmodGuid);
    if (result != FMOD_OK)
    {
        RUNINFO(L"[FMod]getDriverInfo error:%s", Utf82WideChar(FMOD_ErrorString(result)).c_str());
        m_pFMOD->release();
        m_pFMOD = NULL;
        return false;
    }
    int iMin = 0, iMax = 0;
    result = m_pFMOD->getDriverCaps(0, &caps, &iMin, &iMax, &speakermode);
    if (result != FMOD_OK)
    {
        //fprintf(stderr, ERR_NOSOUND, result, FMOD_ErrorString(result));
        RUNINFO(L"[FMod] getDriverCaps error:%s", Utf82WideChar(FMOD_ErrorString(result)).c_str());
        m_pFMOD->release();
        m_pFMOD = NULL;
        return false;
    }

函数getdriverinfo失败,错误字符串为14:16:00:729 | FModgetDriverInfo错误:传递给此函数的参数无效。我已经阅读了fmod的文档,但是参数传递给了这个函数,我找不到哪个参数是错误的。有人能帮我吗?或者给我一些建议?

EN

回答 1

Stack Overflow用户

发布于 2016-12-14 15:53:53

代码语言:javascript
复制
int iLength = 1024;
    char szName[iLength] = {0};
    FMOD_GUID sFmodGuid;
    result = m_pFMOD->getDriverInfo(i, szName, szLength, &sFmodGuid,0,0,0);

你遗漏了一些参数

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35194830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档