waveOutSetVolume 関数は指定された波形オーディオ出力デバイスの音量レベルを設定する。
waveOutSetVolume hwo, dwVolume
hwo : [intptr] オープン済み波形オーディオ出力デバイスへのハンドル。デバイス識別子も指定できる。 dwVolume : [int] 新しい音量設定。下位ワードに左チャネルの音量設定を、上位ワードに右チャネルの設定を指定する。0xFFFF が最大音量、0x0000 が無音を表す。デバイスが左右両チャネルの音量制御をサポートしていない場合、dwVolume の下位ワードで音量レベルを指定し、上位ワードは無視される。
(プラグイン / モジュール : winmm.dll)
waveOutSetVolume 関数は指定された波形オーディオ出力デバイスの音量レベルを設定する。 [戻り値] 成功時は MMSYSERR_NOERROR を、それ以外の場合はエラーを返す。考えられるエラー値は次のとおり。 (以下省略) [備考] デバイス識別子を使用した場合、waveOutSetVolume 呼び出しの結果はそのデバイスの全インスタンスに適用される。デバイスハンドルを使用した場合、結果はそのデバイスハンドルが参照するインスタンスにのみ適用される。全てのデバイスが音量変更をサポートしているわけではない。デバイスが音量制御をサポートしているかを判定するには、WAVECAPS_VOLUME フラグを用いて (waveOutGetDevCaps 関数で取得した) WAVEOUTCAPS 構造体の dwSupport メンバをテストする。デバイスが左右両チャネルの音量制御をサポートしているかを判定するには WAVECAPS_LRVOLUME フラグを使用する。ほとんどのデバイスは 16 ビット全ての音量レベル制御をサポートしておらず、要求された音量設定の最下位ビットを使用しない。例えばデバイスが 4 ビットの音量制御をサポートしている場合、値 0x4000、0x4FFF、0x43BE は全て 0x4000 に切り詰められる。waveOutGetVolume 関数は waveOutSetVolume で設定された完全な 16 ビット値を返す。音量設定は対数的に解釈される。これは音量レベルを 0x5000 から 0x6000 に上げたときと 0x4000 から 0x5000 に上げたときの音量増加が同じように知覚されることを意味する。
| プラグイン / モジュール | winmm.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の winmm.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_winmm_gen2.hs |