⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graham4.txt

📁 国外游戏开发者杂志1996年第十二期配套代码
💻 TXT
字号:
Listing 4. 

BOOL Create3DSoundBuffer(DWORD dwBuf, DWORD dwBufSize, DWORD dwFreq, DWORD dwBitsPerSample, DWORD dwBlkAlign)
{
    PCMWAVEFORMAT pcmwf;
    DSBUFFERDESC dsBDesc;
    
    // Set up wave format structure.
    memset( &pcmwf, 0, sizeof(PCMWAVEFORMAT) );
    pcmwf.wf.wFormatTag         = WAVE_FORMAT_PCM;      
    pcmwf.wf.nChannels          =  1; // mono format for efficiency
    pcmwf.wf.nSamplesPerSec     = dwFreq;
    pcmwf.wf.nBlockAlign        = (WORD)dwBlkAlign;
    pcmwf.wf.nAvgBytesPerSec    = pcmwf.wf.nSamplesPerSec * pcmwf.wf.nBlockAlign;
    pcmwf.wBitsPerSample        = (WORD)dwBitsPerSample;

    // Set up DSBUFFERDESC structure.
    memset(&dsBDesc, 0, sizeof(DSBUFFERDESC));  
    dsBDesc.dwSize              = sizeof(DSBUFFERDESC);
    dsBDesc.dwFlags             = DSBCAPS_CTRL3D; 
    dsBDesc.dwBufferBytes       = dwBufSize; 
    dsBDesc.lpwfxFormat         = (LPWAVEFORMATEX)&pcmwf;

    if (DS_OK != g_lpDS->CreateSoundBuffer(&dsBDesc, &g_lpSounds[dwBuf], NULL))
        return FALSE;
    
    // Query for the 3D Sound Buffer interface.
    if (DS_OK != g_lpSounds[dwBuf]->QueryInterface(IID_IDirectSound3DBuffer, 
        (void**) &g_lp3dSounds[dwBuf]))
        return FALSE;

    return TRUE;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -