- ベストアンサー
VC++で音量の調整、ミュートは。
VC++で簡単なプログラムを考えています。 音量をミュートしたり、解除したり、あるいは、前の音量を覚えていて、音量をゼロにして、また、以前の音量に戻したりするものです。 なので、 音量を設定する。 現在の音量を覚える。 音量をミュートする、解除する などの 対応するコマンドを教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
音量調整には複数の手段があります。が、おおざっぱに分けて 1.再生しているファイルだけを音量調整する 2.OS全体のボリュームを調整する MCIを使うと、マスターボリュームを調整したり取得したりできます。
その他の回答 (1)
- Oh-Orange
- ベストアンサー率63% (854/1345)
★ヒント ・プロトタイプ宣言は、 MCIERROR mciSendString( LPCTSTR lpszCommand, LPTSTR lpszReturnString, UINT cchReturn, HANDLE hwndCallback ); ・第1引数に次の文字列を与えると出来るようです。 昔ネットで調べた情報ですが、試しましたが上手く音声が消えませんでした。 そこで『mciSendCommand』で同じコマンドがあるかネットなどで検索して下さい。 そのヒントとして第1引数の文字列と動作を紹介します。 (1)『Set CDaudio Audio All on』、『Set CDaudio Audio All off』…左右のスピーカをミュート (2)『Set CDaudio Audio Left on』、『Set CDaudio Audio Left off』…左側のスピーカ (3)『Set CDaudio Audio Right on』、『Set CDaudio Audio Right off』…右側のスピーカ 上記の文字列を『lpszCommand』に指定します。 例:mciSendString( TEXT("Set CDaudio Audio All off"), NULL, 0, NULL ); 意味:『左右のスピーカをミュート』するらしい。 ・『Wave』なら『WaveOutSetVolume()』API関数で出来るようです。 最後に: ・『mciSendCommand』のプロトタイプ宣言は MCIERROR mciSendCommand( MCIDEVICEID IDDevice, // デバイス識別子 UINT uMsg, // コマンドメッセージ DWORD fdwCommand, // フラグ DWORD dwParam // パラメータを保持している構造体 ); ・下の『参考URL』にある『076.ボリュームコントロール』の場所も参考にして下さい。 これ以外は『ボリュームコントロール』、『mciSendCommand 音量』キーワードでネットで検索して下さい。 ・以上。参考に!
お礼
いろいろと詳細ありがとうございました。 参考にさせていただきました。
お礼
いろいろとありがとうございました。 参考URLの中にサンプルコードがあり、これを使用して、プログラミングをしました。 非常に参考になりました。