<Return[A]><Top>

auxSetVolume

Declare Function Api_auxSetVolume& Lib "winmm" Alias "auxSetVolume" (ByVal uDeviceID&, ByVal dwVolume&)

Declare Function auxSetVolume Lib "winmm" Alias "auxSetVolume" (ByVal uDeviceID As Long, ByVal dwVolume As Long) As Long

指定された補助出力デバイスのボリュームを設定する。

パラメータ

uDeviceID
    対象になる補助出力デバイスの識別子を指定する。デバイス識別子は、システムにインストールされているデバイスの数によって決まる。

    デバイス識別子の値の範囲は 0〜インストールされているデバイス数 -1 である。システムの補助デバイス数を調べるには、

    auxGetNumDevs 関数を使う(「解説」参照)。
dwVolume
    新しいボリューム設定を指定する。下位ワードは左チャネルのボリューム設定を指定し、上位ワードは右チャネルの設定を指定する。値が

    0xFFFF の場合は最大ボリューム、0x0000 の場合は無音を表す。
    デバイスが左右のボリュームコントロールをサポートしない場合は、ボリュームレベルは dwVolume パラメータの下位ワードで指定され、上位

    ワードは無視される。

戻り値
    関数が成功すると MMSYSERR_NOERROR が返る。関数が失敗するとエラーが返る。返されるエラー値は次のとおりである。

    値                                          

説明                                                                      

    MMSYSERR_BADDEVICEID

指定されたデバイス識別子は範囲外のため無効である。

 

解説
    すべてのデバイスがボリュームコントロールをサポートしているとは限らない。サポートするかどうかを調べるには、AUXCAPS_VOLUME フラ

    グを使って、auxGetDevCaps 関数で提供される 構造体の dwSupport メンバをテストする。
    デバイスが左右チャネルのボリュームコントロールをサポートするかどうかを調べるには、AUXCAPS_LRVOLUME フラグを使って、

    auxGetDevCaps 関数で提供される AUXCAPS 構造体の dwSupport メンバを調べる。
    全 16 ビットのボリューム レベルコントロールをサポートしているデバイスは少いので、提供ボリューム設定の上位ビットのみを使うことがほとん

    どである。たとえば、4 ビットのボリュームコントロールをサポートするデバイスでは、提供ボリュームレベルが x4000、0x4FFF および

    0x43BE であっても、物理的には同じボリューム設定値の 0x4000 が生成される。 auxGetVolume 関数は、auxSetVolume で設定される

    全 16 ビットの設定値を返す。
    ボリューム設定は対数的に解釈される。つまり、ボリューム設定が 0x5000 から 0x6000 に増加したときと、0x4000 から 0x5000 に増加し

    たときでは、知覚されるボリュームレベルは同じになる。