waveOutGetVolume

waveOutGetVolume 関数は指定された波形オーディオ出力デバイスの現在の音量レベルを取得する。

waveOutGetVolume hwo, pdwVolume

hwo : [intptr] オープン済み波形オーディオ出力デバイスへのハンドル。デバイス識別子も指定できる。
pdwVolume : [var] 現在の音量設定が格納される変数へのポインタ。下位ワードに左チャネルの音量設定が、上位ワードに右チャネルの設定が格納される。0xFFFF が最大音量、0x0000 が無音を表す。デバイスが左右両チャネルの音量制御をサポートしていない場合、指定された場所の下位ワードにモノラル音量レベルが格納される。waveOutSetVolume 関数で設定した完全な 16 ビットの値が、デバイスが 16 ビット全ての音量制御をサポートしているかどうかにかかわらず返される。

(プラグイン / モジュール : winmm.dll)

解説

waveOutGetVolume 関数は指定された波形オーディオ出力デバイスの現在の音量レベルを取得する。

[戻り値]
成功時は MMSYSERR_NOERROR を、それ以外の場合はエラーを返す。考えられるエラー値は次のとおり。
(以下省略)

[備考]
デバイス識別子を使用した場合、waveOutGetVolume 呼び出しの結果と pdwVolume
で返される情報はそのデバイスの全インスタンスに適用される。デバイスハンドルを使用した場合、結果と返される情報はそのデバイスハンドルが参照するインスタンスにのみ適用される。全てのデバイスが音量変更をサポートしているわけではない。デバイスが音量制御をサポートしているかを判定するには、WAVECAPS_VOLUME
フラグを用いて (waveOutGetDevCaps 関数で取得した) WAVEOUTCAPS 構造体の dwSupport
メンバをテストする。デバイスが左右チャネルの音量制御をサポートしているかを判定するには、WAVECAPS_LRVOLUME フラグを用いて
WAVEOUTCAPS 構造体の dwSupport メンバをテストする。音量設定は対数的に解釈される。これは音量レベルを 0x5000
から 0x6000 に上げたときと 0x4000 から 0x5000 に上げたときの音量増加が同じように知覚されることを意味する。

情報

プラグイン / モジュールwinmm.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の winmm.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_winmm_gen2.hs