• 締切済み

音量調節

音量を調節するプログラムを作りたいのですが、やり方がわかりません。 具体的には、ウインドウをクリックすると 音量を100%または10%に切りかえるというものです。 分かる方がいらっしゃいましたら教えてくださいm(_ _)m

みんなの回答

回答No.2

 こんばんは。御礼頂き感謝いたします。  もしかしたらVISTAが理由なのかもしれません・・・。  当方の方でも2番目のソースを利用して実験してみましたが、動作確認出来ています。  ただし、win2000/visual studio 6.0と言う環境です。  以下のコードで実験しました。一応記載しておきます。マウスの左ボタンを押すたび、ボリュームが15又は0になります。  ウィンドウズのボリュームコントロールのアプリを立ち上げて確認できます(クリックされるたび音量スライダーが上下に動く)。 LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { static bool s_b = false; switch(uMsg) { case WM_CREATE : return TRUE; case WM_CLOSE : ::DestroyWindow(hWnd); return FALSE; case WM_DESTROY : ::PostQuitMessage(0); return FALSE; case WM_LBUTTONDOWN : { s_b ^= 0x1; //左ボタンを押すたびにボリュームが15又は0に切り替わる const int volume = s_b ? 15 : 0; //新規ボリューム値を設定する ::SetMasterVolume(volume); return FALSE; } default : break; } return ::DefWindowProc(hWnd, uMsg, wParam, lParam); } INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, INT ) { //ボリュームコントロールの為の初期化をする ::InitMasterVolumeControl(); //以下windowsプログラムのお決まりパターン return msg.wParam; }

kerokk
質問者

お礼

machongolaさん、ありがとうございます。 ↑のコードを試してみましたが、やはり無理なようです。 vistaが原因なんでしょうか…。 なので多少荒技ですが以下の方法で操作することにしました。 ためになるアドバイスをありがとうございました。 case WM_LBUTTONDOWN: vol *= -1; //volが1なら音量100%、-1なら10% if(vol == 1){ for(i=0; i<適当な値; i++){ keybd_event(0xAE, 0, 0, 0); keybd_event(0xAE, 0, KEYEVENTF_KEYUP, 0); } } else{ for(i=0; i<適当な値; i++){ keybd_event(0xAF, 0, 0, 0); keybd_event(0xAF, 0, KEYEVENTF_KEYUP, 0); } } break;

回答No.1

 こんにちは。  情報や手本であるならば、幾らでも散見します。  少し試してみましたが、取り扱いは極めて面倒な物です。  http://www.terra.dti.ne.jp/~vivas/delphi/mixerapi.html  http://hp.vector.co.jp/authors/VA016117/mixer1.html  http://doglover.jp/index.php?%B2%BB%CE%CC%C4%B4%C0%E1%A4%F2%A4%B7%A4%BF%A4%A4

参考URL:
http://www.google.co.jp/search?hl=ja&lr=&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=MIXER+api&spell=1
kerokk
質問者

お礼

お返事ありがとうございます。 2番目のサイトが比較的分かりやすそうだったので、試してみました。 プログラム自体は正常に処理できてるみたいなんですが、 音量に全く変化がありませんでした。 どうしてでしょうか。。。 書き忘れましたが環境はVista HomePremiumでコンパイラは VC++ 2005 Expressです。

関連するQ&A

  • 音量の調節ができなくなりました。

    NECの2007年製の「LL770/H」という型の ノートパソコンを使っているんですけれど、 音量調節ができなくなりました。 時々この症状が発生していて いつもならパソコンを再起動すれば直るんですけれど、 今回は再起動を何度しても直りません。 パソコンの横の音量調節のつまみを動かしたり、 音量調整のアイコンをクリックすると、 Windowsのタスクバーが反応なしになります。 どうした方がよろしいのでしょうか・・・?

  • 音量調節

    Windows Meのパソコンを使用してますが なぜか2月頃から今でさえ 【音量調節】がどの機能でもできなくなってしまいました 原因が全くわかりません なぜ【音量調節】ができなくなったのでしょう? どうしたら【音量調節】できるようになるのでしょう? 原因・直す方法がわかる方 もしいらしたら回答お願いします

  • 音量調節について

    Windows xpです。 デスクトップの右下にあったスピーカーがなくなりました。(ダブルクリックして音量を調節できるもの) どうしたらまた元の位置に戻す事が出来るんでしょうか? 簡単な質問だと思いますが宜しくお願いします。

  • 音量調節ができなくなりました

    SONY VAIO VGC-JS53FB  Windows7ですが、タスクバー画面右下の音量アイコンが機能しません。 クリックするとスピーカーアイコンの上には何も出ず、左側にある入力モードやヘルプなどのアイコンが消え、もう一度クリックすると現れます。 ちなみに、このアイコン以外の音量調節はできています。(iTunesやYoutubeなど) コントロールパネルのサウンド系を試したところ、「システム音量の調節」だけクリックしても何も出ませんでした。 猫がキーボードに乗って時々おかしくしてしまうのですが、もっと深刻な問題でしょうか? 解決方法を教えてください。

  • 音量調節が・・・・・

    タスクバーに音量調節するやつがなくなり、 困ってます。。 「プログラムの追加と削除」を使ってインストールするにはどうすれればいいんですか??

  • 音量調節が・・・

    私のパソコンはいろいろなデータが多く保存されてて、とても重いので容量を増やそうと、 【ディスクのクリーンアップ】で使用していないwindowsのオプションコンポーネントを消していたのですが 選択を誤ってしまい、右下に出る音量調節のアイコン、ペイントやメモ帳などの付属のソフトが消えてしまいました。 ペイント、メモ帳などはバックアップして取り戻しましたが まだ音量調節バーが出ません。ボリュームコントロール(?)というのも消えてしまいました。 ちなみにキーボードに音量を調節するボタンはついていません。 音楽を聴くときに音量が調節できないのでかなり困ってます; 何か方法がありましたら是非教えてください。

  • 音量調節が出来ない

    タスクバーにあるスピーカーのアイコンをクリックしても音量調節のスライドバーがでません なぜでしょうか、どうすれば元に戻るのでしょうか、教えて下さい。

  • youtubeの音量調節が出来ない

    こんばんは。 色々調べてみてはいるのですが解決策が見当たらないので質問させていただきます。 ここ最近、youtubeで動画を再生するときに音量調節できなくなる場合があります。 (動画によっては調節ができる場合もあります) 画面の音量調節のところをクリックすると画像のような感じで、白い点々に囲まれてしまい音量調節が出来ない状態です。 そのためPC自体の音量を調節するしかないのですが、以前はできていたものがなぜできなくなっているのか、改善方法はあるのか知りたいです。 使用しているブラウザはSleipnir5(Sleipnir4でも同じ症状でした) PCはWin7(32bit)です。 何かわかる方がいらっしゃったらお願いします。

  • 録音音量調節

    XPなどでは「録音コントロール」で、録音音量調節ができますが、vistaではどうすれば録音音量が調節できるのでしょうか?具体的に言うと、パソコン内から出た音を録音したいのですが。

  • マスタ音量の音量を調節すると・・・。助けてください><

    最近マスタ音量の音量を調節すると変な音がします。 普通はマスタ音量を調節すると確かめとして『コンッ』と音がなるとおもうんです。 しかし私は [コントロールパネル]→[サウンドとオーディオデバイス]→[サウンド]の[プログラムイベント]の全部のサウンドを無しに設定したので、 その中にあるマスタ音量の確かめの音『コンッ』も無しに設定してしまったのかもしれません・・。 でも[プログラムイベント]の一覧の中にマスタ音量と書いてないのでどうすれば戻るのかわかりません。 今は『コンッ』の変わりに、深刻なエラーが出たときのような機械から直接振動するような『プン』というファミコンの音をデカくした音が鳴ってます。 どうしたら元のようにマスタ音量を調節したときの確かめの為に出る 『コンッ』に戻せますか?教えてください><