2

機能でマスターボリュームを変更したい

MMRESULT waveOutSetVolume(
  HWAVEOUT hwo, 
  DWORD dwVolume 
); 

hwo
Handle to an open waveform-audio output device. This parameter can also be a device identifier. 

マスター ボリュームのハンドラーを作成するにはどうすればよいですか?

dwVolume
Specifies a new volume setting. The low-order word contains the left-channel volume setting, and the high-order word contains the right-channel setting. A value of 0xFFFF represents full volume, and a value of 0x0000 is silence.
If a device does not support both left and right volume control, the low-order word of dwVolume specifies the volume level, and the high-order word is ignored.

ボリューム (たとえば 75) を関数に渡すにはどうすればよいですか?

このように試してみてください:プログラムでマスターボリュームを変更するには? 私にはうまくいきません!

4

1 に答える 1

3

Vista+ では、レガシーwaveOutXxxAPI によるマスター ボリュームの変更はありません。代わりに WASAPI を使用します。

デバイスにハードウェア ボリューム コントロールがある場合、インターフェイスを介してコントロールに加えられた変更はIAudioEndpointVolume、共有モードと排他モードの両方でボリューム レベルに影響します。デバイスにハードウェア ボリュームおよびミュート コントロールがない場合、このインターフェイスを介してソフトウェア ボリュームおよびミュート コントロールに加えられた変更は、共有モードのボリューム レベルに影響しますが、排他モードでは影響しません。排他モードでは、アプリケーションとオーディオ ハードウェアがオーディオ データを直接交換し、ソフトウェア コントロールをバイパスします。

于 2014-01-12T14:15:03.730 に答える