NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

音量ミキサーの制御方法

解決済み
解決策を見る

ウィンドウズの画面の右下に表示されている音量ミキサーのデバイスを

LabVIEWソフト上から、ミュートにしたり、ボリュームを調整したいです。

 

WinXPの頃、添付のVIを色々と参考にしながら作成し、

上記の動作が出来たと記憶しているのですが、

最近、Win7環境で動作させてみると、アプリケーション別の音量やミュートは

変化するのですが、どうも主デバイス音量の制御は出来なくなってしまっているようでした。

 

調べてみるとVista以降、音量ミキサーが変わり、

MMDevice API を使用する必要があるらしいというところまでは分かったのですが、

C:\Windows\System32\MMDevAPI.dllを見ても

それらしい関数もなさそうですし、行き詰ってしまいました。

 

LabVIEWからWin7環境において、

デバイス音量の制御を行ったことのある方、

制御方法のヒントなどを頂けませんでしょうか。

 

添付VIはLabVIEW2013で作成しています。

メッセージ1/4
5,289件の閲覧回数

こんにちは。

 

こんな投稿がありました。

 

http://forums.ni.com/t5/LabVIEW/Reading-Computer-Microphone-Level-Setting/m-p/3131694/highlight/true...

 

.net のアセンブリさえ呼び出せれば、msdnの記事に記載されているサンプル通りみたいなんですが、LabVIEWの設定が悪いのか、私の環境では呼び出せませんでした。

つい最近の投稿みたいですので、投稿者に.net フレームワークの環境について聞いてみてはいかがでしょう。

 

0 件の賞賛
メッセージ2/4
5,271件の閲覧回数

doradorachan様

 

情報ありがとうございます。

 

私も見てみましたが、.NETの参照が出来ないのは私も同じでした。

参照設定がうまく出来れば、実装は出来そうですが、

実際、どんな方が作ったDLLか分からないので、アプリに実装するのはちょっと怖いですね。

 

Cでの音量制御方法であればネット上にあるようなので、

自作でDLLを作成して頑張ってみようかなと思います。

0 件の賞賛
メッセージ3/4
5,242件の閲覧回数
解決策
トピック作成者hoshikenが受理

自己レスで、すいません。

 

システムのデバイス音量設定について、

VBで公開しているHPを見つけたので、それをコピーさせてもらい、

dllにビルドし、LabVIEWから.net参照して呼び出したところ

無事、所望の動作を行うことが出来ました。

 

このVIと私が初めの投稿に添付したVIを用いることで、

スピーカとLabVIEWアプリの音量を、ソフト的に制御できそうです。

 

あとは、LabVIEWでアプリをビルドして、実行環境で動くことを確認しないといけないですが・・・。

 

どなたか同じ様なことをしたい方の参考になればと思い、

ソースを添付します。

 

LabVIEW2013とVB2010で作成しています。

 

以上です。

メッセージ4/4
5,209件の閲覧回数