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


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

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


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

示例1: HandleWaveMessage


//.........这里部分代码省略.........
                }

                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);
                break;
            }

        case WODM_CLOSE:
        case WIDM_CLOSE:
            {
                DEBUGMSG(ZONE_WIDM, (TEXT("WIDM_CLOSE/WODM_CLOSE\r\n")));
                dwRet = pStreamContext->Close();

                // Release stream context here, rather than inside StreamContext::Close, so that if someone
                // (like CMidiStream) has subclassed Close there's no chance that the object will get released
                // out from under them.
                if (dwRet==MMSYSERR_NOERROR)
                {
                    pStreamContext->Release();
                }
                break;
            }

        case WODM_RESTART:
        case WIDM_START:
            {
                dwRet = pStreamContext->Run();
                break;
            }

        case WODM_PAUSE:
        case WIDM_STOP:
            {
                dwRet = pStreamContext->Stop();
                break;
            }

        case WODM_GETPOS:
        case WIDM_GETPOS:
            {
                dwRet = pStreamContext->GetPos((PMMTIME)dwParam1);
                break;
            }

        case WODM_RESET:
        case WIDM_RESET:
            {
                dwRet = pStreamContext->Reset();
                break;
            }
开发者ID:hibive,项目名称:sjmt6410pm090728,代码行数:66,代码来源:wavemain.cpp

示例2: DEBUGMSG


//.........这里部分代码省略.........
        DEBUGMSG(ZONE_WODM, (L"WAV:MM_WOM_FORCEQUALITY\r\n"));
        if (pStreamContext)
        {
            dwRet = pStreamContext->ForceQuality((BOOL)dwParam1);
        }
        else
        {
            dwRet = get_HardwareAudioBridge()->enable_WideBand(
                        (BOOL)dwParam1
                    );
        }
        break;

    case WODM_BT_SCO_AUDIO_CONTROL:
        DEBUGMSG(ZONE_WODM, (L"WAV:WODM_BT_SCO_AUDIO_CONTROL\r\n"));
        get_HardwareAudioBridge()->notify_BTHeadsetAttached(
            pParams->dwParam2
        );
        dwRet = MMSYSERR_NOERROR;
        break;

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

        // Release stream context here, rather than inside
        // StreamContext::Close, so that if someone
        // has subclassed Close there's no chance that the object
        // will get released out from under them.
        //
        dwRet = pStreamContext->Close();
        if (dwRet == MMSYSERR_NOERROR)
        {
            pStreamContext->Release();
        }
        break;

    case WODM_OPEN:
        DEBUGMSG(ZONE_WODM, (L"WAV:WODM_OPEN\r\n"));
        pStreamManager = get_OutputStreamManager(uDeviceId);
        dwRet = pStreamManager->open_Stream((LPWAVEOPENDESC)dwParam1,
                                            dwParam2, (StreamContext **)dwUser
                                           );
        break;

    case WIDM_OPEN:
        DEBUGMSG(ZONE_WODM, (L"WAV:WIDM_OPEN\r\n"));
        pStreamManager = get_InputStreamManager(uDeviceId);
        dwRet = pStreamManager->open_Stream((LPWAVEOPENDESC)dwParam1,
                                            dwParam2, (StreamContext **)dwUser
                                           );
        break;

    case WODM_GETDEVCAPS:
        DEBUGMSG(ZONE_WODM, (L"WAV:WODM_GETDEVCAPS\r\n"));
        pStreamManager = (pStreamContext) ?
                         pStreamContext->GetStreamManager() :
                         get_OutputStreamManager(uDeviceId);

        dwRet = pStreamManager->get_DevCaps((PVOID)dwParam1, dwParam2);
        break;

    case WIDM_GETDEVCAPS:
        DEBUGMSG(ZONE_WIDM, (L"WAV:WIDM_GETDEVCAPS\r\n"));
        pStreamManager = (pStreamContext) ?
                         pStreamContext->GetStreamManager() :
开发者ID:jhbsz,项目名称:dm3730-spi,代码行数:67,代码来源:audiomgr.cpp


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