アプリ版:「スタンプのみでお礼する」機能のリリースについて

VC++で簡単なプログラムを考えています。
音量をミュートしたり、解除したり、あるいは、前の音量を覚えていて、音量をゼロにして、また、以前の音量に戻したりするものです。

なので、
音量を設定する。
現在の音量を覚える。
音量をミュートする、解除する
などの
対応するコマンドを教えてください。

A 回答 (2件)

音量調整には複数の手段があります。

が、おおざっぱに分けて

1.再生しているファイルだけを音量調整する
2.OS全体のボリュームを調整する

MCIを使うと、マスターボリュームを調整したり取得したりできます。

参考URL:http://hp.vector.co.jp/authors/VA016117/mixer1.h …
    • good
    • 0
この回答へのお礼

いろいろとありがとうございました。
参考URLの中にサンプルコードがあり、これを使用して、プログラミングをしました。
非常に参考になりました。

お礼日時:2007/04/01 14:29

★ヒント


・プロトタイプ宣言は、
 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:http://web1.incl.ne.jp/tsukune/paso_ask/mame.htm …
    • good
    • 0
この回答へのお礼

いろいろと詳細ありがとうございました。

参考にさせていただきました。

お礼日時:2007/04/01 14:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!