作成したアプリの音量コントロールを、waveOutSetVolume()を使って行っているのですが、デバイスへの操作なのか他へも(ミキサーにも)影響してしまっています。
アプリ上でWAVEの音量コントロールを行っても、他のアプリへ影響を及ぼさずローカルに行える方法があれば教えていただけないですか。
・・・と、ここまで書いてからまたちょっと調べてみたのですが、ひょっとしてローカルに音量コントロールを行うサービスは用意されていないのでは?
とりあえず、DirectSoundだと他のプログラムに影響せずに音量を設定できました。
#元データの音量より大きくはできないようですが
waveOutは使ったことないので他のプログラムに影響せずに音量を設定する方法があるのかわかりませんが、
パッと見た感じではwaveOutSetVolume以外見つかりませんでした。
私は、ミキサーデバイス経由で行いましたが・・・
結果的には、元の音量等を取得して保存しておき、アプリ終了時
に、その保存していた値に戻す・・・と言う処理を行わざるを、
えませんでした。
ただ、TV会議ソフトだったので、入力・出力等、サウンド関係
の情報が全て必要だったので、ミキサーデバイス関係で行ったと
言う次第です。
以上。
みなさん、ありがとうございました!
DirectSoundでAPIローカルな音量を設定できました。waveOut系はローカルな音量設定は無理だし、一般的には利用しないほうが良いようです。