waveOutSetVolume 函式 (mmeapi.h)
waveOutSetVolume函式會設定指定之電壓音訊輸出裝置的音量層級。
語法
MMRESULT waveOutSetVolume(
HWAVEOUT hwo,
DWORD dwVolume
);
參數
hwo
開啟的電壓輸出裝置的控制碼。 此參數也可以是裝置識別碼。
dwVolume
新的磁片區設定。 低序字組包含左通道音量設定,而高階單字則包含右通道設定。 0xFFFF 的值代表完整磁片區,而0x0000的值則為無聲。
如果裝置不支援左右音量控制, dwVolume 的低序字會指定磁片區層級,並忽略高序字組。
傳回值
如果成功或發生錯誤,則傳回MMSYSERR_NOERROR。 可能的錯誤值包括下列專案。
傳回碼 | 描述 |
---|---|
|
指定的裝置控制碼無效。 |
|
沒有設備磁碟機。 |
|
無法配置或鎖定記憶體。 |
|
不支援函式。 |
備註
如果使用裝置識別碼, waveOutSetVolume 呼叫的結果會套用至裝置的所有實例。 如果使用裝置控制碼,結果只會套用至裝置控制碼所參考的裝置實例。
並非所有裝置都支援磁片區變更。 若要判斷裝置是否支援音量控制,請使用 WAVECAPS_VOLUME 旗標來測試waveOUTCAPS結構 (填滿waveOutGetDevCaps函式的dwSupport成員) 。 若要判斷裝置是否支援左右通道上的音量控制,請使用 WAVECAPS_LRVOLUME 旗標。
大部分裝置都不支援完整的 16 位磁片區層級控制,而且不會使用要求之磁片區設定的最小有效位。 例如,如果裝置支援 4 位的磁片區控制,則值0x4000、0x4FFF和0x43BE全都會截斷為0x4000。 waveOutGetVolume函式會傳回具有waveOutSetVolume的完整 16 位設定集。
磁片區設定會以對數方式解譯。 這表示當將磁片區層級從0x5000增加到0x6000時,感知的磁片區增加與0x4000到0x5000相同。
需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | mmeapi.h (包含 Windows.h) |
程式庫 | Winmm.lib |
Dll | Winmm.dll |