11-30-2015 03:08 AM
ウィンドウズの画面の右下に表示されている音量ミキサーのデバイスを
LabVIEWソフト上から、ミュートにしたり、ボリュームを調整したいです。
WinXPの頃、添付のVIを色々と参考にしながら作成し、
上記の動作が出来たと記憶しているのですが、
最近、Win7環境で動作させてみると、アプリケーション別の音量やミュートは
変化するのですが、どうも主デバイス音量の制御は出来なくなってしまっているようでした。
調べてみるとVista以降、音量ミキサーが変わり、
MMDevice API を使用する必要があるらしいというところまでは分かったのですが、
C:\Windows\System32\MMDevAPI.dllを見ても
それらしい関数もなさそうですし、行き詰ってしまいました。
LabVIEWからWin7環境において、
デバイス音量の制御を行ったことのある方、
制御方法のヒントなどを頂けませんでしょうか。
添付VIはLabVIEW2013で作成しています。
解決済! 解決策の投稿を見る。
11-30-2015 08:25 AM
こんにちは。
こんな投稿がありました。
.net のアセンブリさえ呼び出せれば、msdnの記事に記載されているサンプル通りみたいなんですが、LabVIEWの設定が悪いのか、私の環境では呼び出せませんでした。
つい最近の投稿みたいですので、投稿者に.net フレームワークの環境について聞いてみてはいかがでしょう。
12-01-2015 05:00 AM
doradorachan様
情報ありがとうございます。
私も見てみましたが、.NETの参照が出来ないのは私も同じでした。
参照設定がうまく出来れば、実装は出来そうですが、
実際、どんな方が作ったDLLか分からないので、アプリに実装するのはちょっと怖いですね。
Cでの音量制御方法であればネット上にあるようなので、
自作でDLLを作成して頑張ってみようかなと思います。
12-03-2015 03:16 AM
自己レスで、すいません。
システムのデバイス音量設定について、
VBで公開しているHPを見つけたので、それをコピーさせてもらい、
dllにビルドし、LabVIEWから.net参照して呼び出したところ
無事、所望の動作を行うことが出来ました。
このVIと私が初めの投稿に添付したVIを用いることで、
スピーカとLabVIEWアプリの音量を、ソフト的に制御できそうです。
あとは、LabVIEWでアプリをビルドして、実行環境で動くことを確認しないといけないですが・・・。
どなたか同じ様なことをしたい方の参考になればと思い、
ソースを添付します。
LabVIEW2013とVB2010で作成しています。
以上です。