2013-06-24 55 views
0

我已經使用MSoft WaveOut api編寫了一個應用程序,它的工作正常,只是我的揚聲器不播放立體聲只有單聲道。當我將一個耳機插入其中一個插孔時,我獲得相同的單聲道行爲,但另一個插孔播放立體聲文件。如果我使用的是使用DirectX API的東西,則所有播放都以立體聲播放。 我的設備是戴爾Studio XP。 有人可以爲此提出一個原因嗎?揚聲器和一個耳機沒有立體聲音頻使用波形輸出

回答

0

你shold通道參數從1更改爲2

format.wFormatTag = 1 ' PCM 
format.nChannels = 1 '1=mono , 2=Steero <<<<<< 
format.nSamplesPerSec = 8000 ' 12000 
format.wBitsPerSample = 16 
0

的問題是與體積。我設置的音量與類似的代碼:

unsigned long x = 0xFFFF; 
MMRESULT result = waveOutSetVolume(_audio_device, x); 

其實的時候,我需要做的:

unsigned short left = unsigned(0xFFFF * v); 
unsigned short right = unsigned(0xFFFF * v); 

unsigned long x = left + (right << 16); 
MMRESULT result = waveOutSetVolume(_audio_device, x); 
相關問題