亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? soundfx.cpp

?? < VC++視頻音頻開發>> 這本書的源碼
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
    EnablePlayUI( hDlg, TRUE );
}
HRESULT OnPlaySound( HWND hDlg )
{
    HRESULT hr;
    DWORD   dwCreationFlags;
    DWORD   dwLooped;
    DWORD   i;
    BOOL bLooped        = ( IsDlgButtonChecked( hDlg, IDC_CHECK_LOOP ) == BST_CHECKED );
    
    dwCreationFlags = DSBCAPS_CTRLFX;
    
    g_lpFXManager->DisableAllFX( );
    SAFE_DELETE( g_lpSound );
    
    
    
    if( FAILED( hr = g_lpSoundManager->Create( &g_lpSound, g_tszFilename,
                                               dwCreationFlags, GUID_NULL ) ) )
    {
        
        DXTRACE_ERR( TEXT("Create"), hr );
        if( hr == DSERR_BUFFERTOOSMALL )
        {
            
            
            
            SetDlgItemText( hDlg, IDC_TEXT_STATUS, TEXT("Wave file is too short (less than 150ms) for effect processing.") );
        }
        else
        {
            SetDlgItemText( hDlg, IDC_TEXT_STATUS, TEXT("Could not create sound buffer.") );
        }
        return S_FALSE;
    }
    g_lpFXManager->Initialize( g_lpSound->GetBuffer( 0 ), FALSE );
    for( i = IDC_CHECK_CHORUS; i <= IDC_CHECK_REVERB; i++ )
    {
        if( IsDlgButtonChecked( hDlg, i ) == BST_CHECKED )
            g_lpFXManager->SetFXEnable( i - IDC_CHECK_CHORUS );
    }
    if( FAILED( hr = g_lpFXManager->ActivateFX( ) ) )
        goto LFail;
    if( FAILED( hr = g_lpFXManager->LoadCurrentFXParameters( ) ) )
        goto LFail;
    
    dwLooped = bLooped ? DSBPLAY_LOOPING : 0L;
    if( FAILED( hr = g_lpSound->Play( 0, dwLooped ) ) )
        return DXTRACE_ERR( TEXT("Play"), hr );
    
    EnablePlayUI( hDlg, FALSE );
    SetDlgItemText( hDlg, IDC_TEXT_STATUS, TEXT("Sound playing.") );
    return S_OK;
LFail:
    
    SetDlgItemText( hDlg, IDC_TEXT_STATUS, TEXT("Effects creation failed.  Some effects may not support 8-bit wave files.") );
    return S_OK;
}
VOID OnOpenSoundFile( HWND hDlg )
{
    static TCHAR strFileName[MAX_PATH] = TEXT("");
    static TCHAR strPath[MAX_PATH] = TEXT("");
    
    OPENFILENAME ofn = { sizeof(OPENFILENAME), hDlg, NULL,
                         TEXT("Wave Files\0*.wav\0All Files\0*.*\0\0"), NULL,
                         0, 1, strFileName, MAX_PATH, NULL, 0, strPath,
                         TEXT("Open Sound File"),
                         OFN_FILEMUSTEXIST|OFN_HIDEREADONLY, 0, 0,
                         TEXT(".wav"), 0, NULL, NULL };
    
    if( '\0' == strPath[0] )
    {
        if( GetWindowsDirectory( strPath, MAX_PATH ) != 0 )
        {
            if( strcmp( &strPath[strlen(strPath)], TEXT("\\") ) )
                strcat( strPath, TEXT("\\") );
            strcat( strPath, TEXT("MEDIA") );
        }
    }
    
   
   
    SetDlgItemText( hDlg, IDC_TEXT_STATUS, TEXT("Loading file...") );
    
    g_lpFXManager->DisableAllFX( );
    
    if( TRUE != GetOpenFileName( &ofn ) )
    {
        
        SetDlgItemText( hDlg, IDC_TEXT_FILENAME, TEXT("") );
        SetDlgItemText( hDlg, IDC_TEXT_STATUS, TEXT("No file loaded.") );
      
      
        return;
    }
    SetDlgItemText( hDlg, IDC_TEXT_FILENAME, TEXT("") );
    
    if( FAILED( ValidateWaveFile( hDlg, strFileName ) ) )
    {
        
        SetDlgItemText( hDlg, IDC_TEXT_FILENAME, TEXT("") );
       
       
        return;
    }
    EnablePlayUI( hDlg, TRUE );
    
    strcpy( strPath, strFileName );
    char* strLastSlash = strrchr( strPath, '\\' );
    if( strLastSlash )
        strLastSlash[0] = '\0';
}
VOID OnTimer( HWND hDlg )
{
    if( IsWindowEnabled( GetDlgItem( hDlg, IDC_BUTTON_STOP ) ) )
    {
        
        if( g_lpSound && !g_lpSound->IsSoundPlaying() )
        {
            
            EnablePlayUI( hDlg, TRUE );
            SetDlgItemText( hDlg, IDC_TEXT_STATUS, TEXT("Sound stopped.") );
        }
    }
}
VOID EnablePlayUI( HWND hDlg, BOOL bEnable )
{
    if( bEnable )
    {
        EnableWindow( GetDlgItem( hDlg, IDC_CHECK_LOOP      ), TRUE );
        EnableWindow( GetDlgItem( hDlg, IDC_BUTTON_PLAY     ), TRUE );
        EnableWindow( GetDlgItem( hDlg, IDC_BUTTON_STOP     ), FALSE );
        SetFocus(     GetDlgItem( hDlg, IDC_BUTTON_PLAY )   );
    }
    else
    {
        EnableWindow( GetDlgItem( hDlg, IDC_CHECK_LOOP      ), FALSE );
        EnableWindow( GetDlgItem( hDlg, IDC_BUTTON_PLAY     ), FALSE );
        EnableWindow( GetDlgItem( hDlg, IDC_BUTTON_STOP     ), TRUE );
        SetFocus(     GetDlgItem( hDlg, IDC_BUTTON_STOP )   );
    }
    for( DWORD i = IDC_CHECK_CHORUS; i <= IDC_CHECK_REVERB; i++ )
        EnableWindow( GetDlgItem( hDlg, i ), bEnable );
}
VOID ResetParameterUI( HWND hwndDlg )
{
    HWND hwndItem;
    DWORD i;
    for ( i = IDC_PARAM_NAME1; i <= IDC_PARAM_MAX6; i++ )
    {
        hwndItem = GetDlgItem( hwndDlg, i );
        SendMessage( hwndItem, WM_SETTEXT, 0, ( LPARAM ) TEXT( "- - -" ) );
        EnableWindow( hwndItem, FALSE );
    }
    for ( i = IDC_SLIDER1; i <= IDC_SLIDER6; i += 5 )
    {
        PostMessage( GetDlgItem( hwndDlg, i ), TBM_SETRANGEMIN, FALSE, DEFAULT_SLIDER_MIN );
        PostMessage( GetDlgItem( hwndDlg, i ), TBM_SETRANGEMAX, FALSE, DEFAULT_SLIDER_MAX );
        PostMessage( GetDlgItem( hwndDlg, i ), TBM_SETLINESIZE, FALSE, DEFAULT_SLIDER_INC );
        PostMessage( GetDlgItem( hwndDlg, i ), TBM_SETPOS, TRUE, 0 );
    }
    EnableWindow( GetDlgItem( hwndDlg, IDC_RADIO_TRIANGLE ), FALSE );
    EnableWindow( GetDlgItem( hwndDlg, IDC_RADIO_SQUARE ), FALSE );
    EnableWindow( GetDlgItem( hwndDlg, IDC_RADIO_SINE ), FALSE );
    EnableWindow( GetDlgItem( hwndDlg, IDC_FRAME_WAVEFORM ), FALSE );
    EnableWindow( GetDlgItem( hwndDlg, IDC_RADIO_NEG_180 ), FALSE );
    EnableWindow( GetDlgItem( hwndDlg, IDC_RADIO_NEG_90 ), FALSE );
    EnableWindow( GetDlgItem( hwndDlg, IDC_RADIO_ZERO ), FALSE );
    EnableWindow( GetDlgItem( hwndDlg, IDC_RADIO_90 ), FALSE );
    EnableWindow( GetDlgItem( hwndDlg, IDC_RADIO_180 ), FALSE );
    EnableWindow( GetDlgItem( hwndDlg, IDC_FRAME_PHASE ), FALSE );
}
VOID EnableSingleParameter( HWND hwndDlg, DWORD resID )
{
    for ( DWORD i = resID; i < resID + 5; i++ )
        EnableWindow( GetDlgItem( hwndDlg, i ), TRUE );
}
VOID PosSlider( HWND hwndDlg, DWORD dwSlider, FLOAT val, FLOAT min, FLOAT max,
                FLOAT fSliderInc )
{
    HWND hwndSlider = GetDlgItem( hwndDlg, dwSlider );
    LONG lSliderInc = (LONG) ( (fSliderInc / (max - min)) * DEFAULT_SLIDER_MAX );
    PostMessage( hwndSlider, TBM_SETLINESIZE, FALSE, lSliderInc );
    FLOAT res = ( val - min ) / ( max - min );
    if( res < 0.0f )
        res = 0.0f;
    else if( res > 1.0f )
        res = 1.0f;
    LONG pos = (LONG) ( res * DEFAULT_SLIDER_MAX );
    PostMessage( hwndSlider, TBM_SETPOS, TRUE, pos );
}
VOID LoadSingleParameter( HWND hwndDlg, DWORD id, const TCHAR * tszName, FLOAT val,
                          FLOAT min, FLOAT max, FLOAT fSliderInc = 0.1f,
                          DWORD dwPrecision = 1 )
{
    TCHAR tszstr[MAX_PATH];
    
    EnableSingleParameter( hwndDlg, id );
    SendMessage( GetDlgItem( hwndDlg, id ), WM_SETTEXT, 0, ( LPARAM ) tszName );
    switch( dwPrecision )
    {
        case 0:
            sprintf( tszstr, "%.0f", val );
            SendMessage( GetDlgItem( hwndDlg, id + 1 ), WM_SETTEXT, 0, ( LPARAM ) tszstr );
            sprintf( tszstr, "%.0f", min );
            SendMessage( GetDlgItem( hwndDlg, id + 3 ), WM_SETTEXT, 0, ( LPARAM ) tszstr );
            sprintf( tszstr, "%.0f", max );
            SendMessage( GetDlgItem( hwndDlg, id + 4 ), WM_SETTEXT, 0, ( LPARAM ) tszstr );
            break;
        case 1:
            sprintf( tszstr, "%.1f", val );
            SendMessage( GetDlgItem( hwndDlg, id + 1 ), WM_SETTEXT, 0, ( LPARAM ) tszstr );
            sprintf( tszstr, "%.1f", min );
            SendMessage( GetDlgItem( hwndDlg, id + 3 ), WM_SETTEXT, 0, ( LPARAM ) tszstr );
            sprintf( tszstr, "%.1f", max );
            SendMessage( GetDlgItem( hwndDlg, id + 4 ), WM_SETTEXT, 0, ( LPARAM ) tszstr );
            break;
        default:
        case 2:
            sprintf( tszstr, "%.2f", val );
            SendMessage( GetDlgItem( hwndDlg, id + 1 ), WM_SETTEXT, 0, ( LPARAM ) tszstr );
            sprintf( tszstr, "%.2f", min );
            SendMessage( GetDlgItem( hwndDlg, id + 3 ), WM_SETTEXT, 0, ( LPARAM ) tszstr );
            sprintf( tszstr, "%.2f", max );
            SendMessage( GetDlgItem( hwndDlg, id + 4 ), WM_SETTEXT, 0, ( LPARAM ) tszstr );
            break;
    }
    PosSlider( hwndDlg, id + 2, val, min, max, fSliderInc );
}
VOID SaveSingleParameter( HWND hwndDlg, DWORD id, FLOAT * val, FLOAT min, FLOAT max, DWORD dwPrecision = 1 )
{
    TCHAR tszstr[MAX_PATH];
    DWORD pos = ( DWORD ) SendMessage( GetDlgItem( hwndDlg, id + 2), TBM_GETPOS, 0, 0 );
    FLOAT percent = ( FLOAT ) ( pos - DEFAULT_SLIDER_MIN ) / ( FLOAT ) ( DEFAULT_SLIDER_MAX - DEFAULT_SLIDER_MIN );
    *val = percent * ( max - min ) + min;
    switch( dwPrecision )
    {
        case 0:
            sprintf( tszstr, "%.0f", *val );
            break;
        case 1:
            sprintf( tszstr, "%.1f", *val );
            break;
        case 2:
        default:
            sprintf( tszstr, "%.2f", *val );
            break;
    }
    SendMessage( GetDlgItem( hwndDlg, id + 1 ), WM_SETTEXT, 0, ( LPARAM ) tszstr );

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
三级一区在线视频先锋 | 视频一区欧美日韩| 欧日韩精品视频| 亚洲综合男人的天堂| 在线观看精品一区| 免费看欧美美女黄的网站| 欧美一级欧美三级| 国产乱子伦视频一区二区三区| 久久丝袜美腿综合| 99国产精品国产精品毛片| 亚洲图片欧美色图| 日韩欧美123| 成人av电影在线网| 午夜电影网一区| 久久久久久亚洲综合影院红桃 | 日韩有码一区二区三区| 久久综合精品国产一区二区三区 | 色欧美片视频在线观看| 日韩国产成人精品| 欧美激情在线一区二区三区| 97国产一区二区| 免费不卡在线视频| 国产精品美女久久福利网站| 欧美综合亚洲图片综合区| 毛片av一区二区三区| 日本一区免费视频| 欧美日本一区二区在线观看| 国产一区在线观看视频| 亚洲免费在线观看视频| 久久一夜天堂av一区二区三区| 91亚洲永久精品| 国产在线视视频有精品| 亚洲一区av在线| 中文字幕第一页久久| 制服视频三区第一页精品| 粉嫩蜜臀av国产精品网站| 日本午夜精品一区二区三区电影 | 亚洲国产一区二区三区| 久久美女艺术照精彩视频福利播放| 一本久久精品一区二区| 国产一区不卡在线| 日韩专区欧美专区| 中文字幕日本不卡| 久久久久高清精品| 日韩欧美国产麻豆| 欧美日韩中文精品| 色综合久久综合中文综合网| 国产在线日韩欧美| 日本成人在线网站| 亚洲国产成人av| 亚洲欧美偷拍另类a∨色屁股| 2024国产精品视频| 欧美成人一区二区三区在线观看| 欧美丝袜第三区| 91丝袜美腿高跟国产极品老师 | 亚洲美女电影在线| 中文字幕成人在线观看| 久久先锋影音av| 欧美电影免费观看高清完整版在线观看| 91免费视频网址| 波多野结衣亚洲| 懂色av一区二区三区蜜臀| 国内精品久久久久影院一蜜桃| 日本aⅴ亚洲精品中文乱码| 亚洲一区二区成人在线观看| 亚洲黄色av一区| 国产精品成人一区二区三区夜夜夜| xnxx国产精品| 精品sm捆绑视频| 精品国产伦理网| 欧美电视剧在线观看完整版| 日韩欧美一级片| 欧美大片国产精品| 26uuu色噜噜精品一区二区| 日韩精品在线一区二区| 欧美草草影院在线视频| 精品国产区一区| 国产日韩精品视频一区| 国产精品欧美一级免费| 国产精品日韩成人| 中文字幕一区二区三区在线观看| 麻豆国产一区二区| 久久99在线观看| 麻豆精品一区二区三区| 亚洲国产精品人人做人人爽| 亚洲在线观看免费| 午夜精品免费在线| 日本在线不卡一区| 另类小说图片综合网| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 在线观看区一区二| 制服视频三区第一页精品| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 国产亚洲短视频| 国产精品高潮呻吟久久| 日韩一区欧美一区| 亚洲成人动漫一区| 青青草伊人久久| 国产大片一区二区| 91社区在线播放| 91精品国产综合久久香蕉的特点| 日韩三级视频中文字幕| 国产欧美一区二区精品性| 亚洲美女电影在线| 日韩福利视频导航| 国产成人日日夜夜| 欧美性一级生活| 欧美电影免费观看高清完整版在| 国产日产欧美一区二区视频| 亚洲黄色小视频| 国产专区欧美精品| 欧美性感一区二区三区| 精品国产1区2区3区| 亚洲精品乱码久久久久久黑人 | 中文欧美字幕免费| 亚洲一区二区黄色| 国产在线播放一区二区三区| 91色在线porny| 欧美一区二区三区播放老司机| 久久久精品黄色| 国产精品福利一区二区三区| 亚洲高清一区二区三区| 国产精品69毛片高清亚洲| 在线观看网站黄不卡| 26uuu色噜噜精品一区二区| 亚洲一区二区四区蜜桃| 国产一区二区伦理片| 欧美无人高清视频在线观看| 国产亚洲视频系列| 日韩国产在线一| 91色porny在线视频| 久久亚洲精品小早川怜子| 一个色在线综合| 成人精品电影在线观看| 日韩免费看网站| 亚洲夂夂婷婷色拍ww47| 国模冰冰炮一区二区| 欧美日韩国产三级| 亚洲免费在线播放| 国产不卡视频在线观看| 欧美一区二区成人6969| 亚洲一区二区三区在线播放| www.亚洲国产| 日本一区二区成人| 国产一区二三区好的| 日韩亚洲欧美中文三级| 亚洲在线观看免费| 日本久久一区二区三区| 国产精品乱人伦中文| 国产精品自拍毛片| 欧美成人高清电影在线| 日本在线不卡一区| 欧美日韩三级一区| 一区二区不卡在线视频 午夜欧美不卡在 | 日本不卡一区二区| 欧美日韩亚洲高清一区二区| 亚洲色图.com| 色综合久久久久综合体| 综合久久综合久久| 99久久精品国产观看| 日韩理论电影院| 99久久综合国产精品| 国产精品久久久久久妇女6080 | 日本精品裸体写真集在线观看| 国产精品污www在线观看| 国产91精品一区二区| 亚洲国产精华液网站w| 成人永久免费视频| 国产精品―色哟哟| 91社区在线播放| 亚洲国产欧美日韩另类综合 | 国产精品久久久久四虎| www.日本不卡| 亚洲男帅同性gay1069| 欧美日韩一区不卡| 丝袜亚洲精品中文字幕一区| 欧美一级黄色录像| 国产精品香蕉一区二区三区| 国产精品视频一二| 91麻豆国产福利精品| 亚洲一线二线三线视频| 91精品欧美一区二区三区综合在| 蜜臀久久99精品久久久久久9| 精品卡一卡二卡三卡四在线| 国产成人丝袜美腿| 亚洲免费av网站| 777a∨成人精品桃花网| 国产一区二区在线免费观看| 国产精品理伦片| 精品视频全国免费看| 久久精品国产亚洲5555| 国产精品美日韩| 欧美丝袜丝nylons| 极品少妇xxxx精品少妇偷拍| 国产精品美女久久久久aⅴ | 日韩视频国产视频| 国产精品12区| 亚洲电影中文字幕在线观看| 欧美成人高清电影在线| 91亚洲精品一区二区乱码|