Fmod getDriverInfo被愚弄

时间:2016-02-04 07:19:52

标签: audio initialization fmod

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

   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 | [FMod] getDriverInfo错误:将无效参数传递给此函数。我已经阅读了fmod的文档,但是参数传递给了这个函数,我找不到哪个参数是错误的。谁能帮我?或者给我一些提示?

1 个答案:

答案 0 :(得分:0)

int iLength = 1024;
    char szName[iLength] = {0};
    FMOD_GUID sFmodGuid;
    result = m_pFMOD->getDriverInfo(i, szName, szLength, &sFmodGuid,0,0,0);

你错过了一些参数