当前位置: 首页>>代码示例>>C++>>正文


C++ StreamContext::GetGain方法代码示例

本文整理汇总了C++中StreamContext::GetGain方法的典型用法代码示例。如果您正苦于以下问题:C++ StreamContext::GetGain方法的具体用法?C++ StreamContext::GetGain怎么用?C++ StreamContext::GetGain使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在StreamContext的用法示例。


在下文中一共展示了StreamContext::GetGain方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: HandleWaveMessage

BOOL HandleWaveMessage(PMMDRV_MESSAGE_PARAMS pParams, DWORD *pdwResult)
{
    //  set the error code to be no error first
    SetLastError(MMSYSERR_NOERROR);

    UINT uMsg = pParams->uMsg;
    UINT uDeviceId = pParams->uDeviceId;
    DWORD dwParam1 = pParams->dwParam1;
    DWORD dwParam2 = pParams->dwParam2;
    DWORD dwUser   = pParams->dwUser;
    StreamContext *pStreamContext = (StreamContext *)dwUser;

    DWORD dwRet;

    g_pHWContext->Lock();

    _try
    {
        switch (uMsg)
        {
        case WODM_GETNUMDEVS:
            {
                dwRet = g_pHWContext->GetNumOutputDevices();
                break;
            }

        case WIDM_GETNUMDEVS:
            {
                dwRet = g_pHWContext->GetNumInputDevices();
                break;
            }

        case WODM_GETDEVCAPS:
            {
                DeviceContext *pDeviceContext;
                UINT NumDevs = g_pHWContext->GetNumOutputDevices();

                if (pStreamContext)
                {
                    pDeviceContext=pStreamContext->GetDeviceContext();
                }
                else
                {
                    pDeviceContext = g_pHWContext->GetOutputDeviceContext(uDeviceId);
                }

                dwRet = pDeviceContext->GetDevCaps((PVOID)dwParam1,dwParam2);
                break;
            }


        case WIDM_GETDEVCAPS:
            {
                DeviceContext *pDeviceContext;
                UINT NumDevs = g_pHWContext->GetNumInputDevices();

                if (pStreamContext)
                {
                    pDeviceContext=pStreamContext->GetDeviceContext();
                }
                else
                {
                    pDeviceContext = g_pHWContext->GetInputDeviceContext(uDeviceId);
                }

                dwRet = pDeviceContext->GetDevCaps((PVOID)dwParam1,dwParam2);
                break;
            }

        case WODM_GETEXTDEVCAPS:
            {
                DeviceContext *pDeviceContext;
                UINT NumDevs = g_pHWContext->GetNumOutputDevices();

                if (pStreamContext)
                {
                    pDeviceContext=pStreamContext->GetDeviceContext();
                }
                else
                {
                    pDeviceContext = g_pHWContext->GetOutputDeviceContext(uDeviceId);
                }

                dwRet = pDeviceContext->GetExtDevCaps((PVOID)dwParam1,dwParam2);
                break;
            }

        case WODM_OPEN:
            {
                DEBUGMSG(ZONE_WODM, (TEXT("WODM_OPEN\r\n")));
                DeviceContext *pDeviceContext = g_pHWContext->GetOutputDeviceContext(uDeviceId);
                dwRet = pDeviceContext->OpenStream((LPWAVEOPENDESC)dwParam1, dwParam2, (StreamContext **)dwUser);
                break;
            }

        case WIDM_OPEN:
            {
                DEBUGMSG(ZONE_WIDM, (TEXT("WIDM_OPEN\r\n")));
                DeviceContext *pDeviceContext = g_pHWContext->GetInputDeviceContext(uDeviceId);
                dwRet = pDeviceContext->OpenStream((LPWAVEOPENDESC)dwParam1, dwParam2, (StreamContext **)dwUser);
//.........这里部分代码省略.........
开发者ID:hibive,项目名称:sjmt6410pm090728,代码行数:101,代码来源:wavemain.cpp

示例2: DEBUGMSG

//------------------------------------------------------------------------------
// process_MiscellaneousMessage, all messages not handled by the other message
//  handlers
//
BOOL
CAudioManager::process_AudioStreamMessage(
    PMMDRV_MESSAGE_PARAMS pParams,
    DWORD *pdwResult
)
{
    DEBUGMSG(ZONE_FUNCTION,
             (L"WAV:+process_AudioStreamMessage(uMsg=%d)\r\n", pParams->uMsg)
            );

    //  set the error code to be no error first
    SetLastError(MMSYSERR_NOERROR);

    CStreamManager *pStreamManager;
    WaveStreamContext *pWaveStream;


    PDWORD pdwGain;
    UINT uMsg = pParams->uMsg;
    UINT uDeviceId = pParams->uDeviceId;
    DWORD dwParam1 = pParams->dwParam1;
    DWORD dwParam2 = pParams->dwParam2;
    DWORD dwUser   = pParams->dwUser;
    StreamContext *pStreamContext = (StreamContext *)dwUser;
    DWORD dwRet=MMSYSERR_NOTSUPPORTED;

    switch (uMsg)
    {
    case WODM_SETVOLUME:
        DEBUGMSG(ZONE_WODM, (L"WAV:WODM_SETVOLUME\r\n"));
        dwRet = (pStreamContext) ? pStreamContext->SetGain(dwParam1) :
                put_OutputGain(dwParam1);
        break;

    case WODM_RESTART:
    case WIDM_START:
        DEBUGMSG(ZONE_WODM|ZONE_WIDM, (L"WAV:WODM_RESTART/WIDM_START\r\n"));
        dwRet = pStreamContext->Run();
        break;

    case WODM_PAUSE:
    case WIDM_STOP:
        DEBUGMSG(ZONE_WODM|ZONE_WIDM, (L"WAV:WODM_PAUSE/WIDM_STOP\r\n"));
        dwRet = pStreamContext->Stop();
        break;

    case WODM_GETPOS:
    case WIDM_GETPOS:
        DEBUGMSG(ZONE_WODM|ZONE_WIDM, (L"WAV:WODM_GETPOS/WIDM_GETPOS\r\n"));
        dwRet = pStreamContext->GetPos((PMMTIME)dwParam1);
        break;

    case WODM_RESET:
    case WIDM_RESET:
        DEBUGMSG(ZONE_WODM|ZONE_WIDM, (L"WAV:WODM_RESET/WIDM_RESET\r\n"));
        dwRet = pStreamContext->Reset();
        break;

    case WODM_WRITE:
    case WIDM_ADDBUFFER:
        DEBUGMSG(ZONE_WODM|ZONE_WIDM,
                 (L"WAV:WODM_WRITE/WIDM_ADDBUFFER\r\n")
                );

        if(m_bSuspend==TRUE)
            dwRet=MMSYSERR_NOERROR;
        else
            dwRet = pStreamContext->QueueBuffer((LPWAVEHDR)dwParam1);

        break;

    case WODM_GETVOLUME:
        DEBUGMSG(ZONE_WODM, (L"WAV:WODM_GETVOLUME\r\n"));
        pdwGain = (PDWORD)dwParam1;
        *pdwGain = (pStreamContext) ? pStreamContext->GetGain() :
                   get_OutputGain();

        dwRet = MMSYSERR_NOERROR;
        break;

    case WODM_BREAKLOOP:
        DEBUGMSG(ZONE_WODM, (L"WAV:WODM_BREAKLOOP\r\n"));
        dwRet = pStreamContext->BreakLoop();
        break;

    case WODM_SETPLAYBACKRATE:
        DEBUGMSG(ZONE_WODM, (L"WAV:WODM_SETPLAYBACKRATE\r\n"));
        pWaveStream = (WaveStreamContext *)dwUser;
        dwRet = pWaveStream->SetRate(dwParam1);
        break;

    case WODM_GETPLAYBACKRATE:
        DEBUGMSG(ZONE_WODM, (L"WAV:WODM_GETPLAYBACKRATE\r\n"));
        pWaveStream = (WaveStreamContext *)dwUser;
        dwRet = pWaveStream->GetRate((DWORD *)dwParam1);
        break;
//.........这里部分代码省略.........
开发者ID:jhbsz,项目名称:dm3730-spi,代码行数:101,代码来源:audiomgr.cpp


注:本文中的StreamContext::GetGain方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。