| 
 | 
 
DirectSound = DirectX.DirectSoundCreate(""); 
                        DirectSound.SetCooperativeLevel(this.Handle.ToInt32(), CONST_DSSCLFLAGS.DSSCL_NORMAL); 
                        DSBufferDesc.lFlags = (CONST_DSBCAPSFLAGS.DSBCAPS_CTRLFREQUENCY | CONST_DSBCAPSFLAGS.DSBCAPS_CTRLPAN | CONST_DSBCAPSFLAGS.DSBCAPS_CTRLVOLUME | CONST_DSBCAPSFLAGS.DSBCAPS_STATIC); 
            //DSBufferDesc.lFlags = CONST_DSBCAPSFLAGS.DSBCAPS_PRIMARYBUFFER; 
 
            DSBufferDesc.lBufferBytes = 0; 
            DSBufferDesc.lpwfxFormat = 0; 
 
                        WaveFormat.nFormatTag = (short)CONST_DSOUND.WAVE_FORMAT_PCM; 
                        WaveFormat.nChannels = 1;          // 1= Mono, 2 = Stereo 
                        WaveFormat.lSamplesPerSec = 22050; // Samples per second 
                        WaveFormat.nBitsPerSample = 16;    //16 =16bit, 8=8bit 
                        WaveFormat.nBlockAlign     = (short)(WaveFormat.nBitsPerSample / 8 * WaveFormat.nChannels); 
                        WaveFormat.lAvgBytesPerSec = WaveFormat.lSamplesPerSec * WaveFormat.nBlockAlign; 
 
                        //MessageBox.Show(Application.StartupPath + "\\bgmusic.wav"); 
                        DirectSoundBuffer = DirectSound.CreateSoundBufferFromFile(Application.StartupPath + "\\bgmusic.wav" ,ref DSBufferDesc, out WaveFormat);                         
                        DirectSoundBuffer.Play(CONST_DSBPLAYFLAGS.DSBPLAY_DEFAULT); 
////////////////////////////////////////////////// 
我把上面的DSBufferDesc.lFlags改为CONST_DSBCAPSFLAGS.DSBCAPS_PRIMARYBUFFER就出问题,不该可以播放音乐,可是鼠标点到其他的窗体上面就没声音了。改如何修改呢??? 
 [em20] |   
 
 
 
 |