みなさんこんにちは.
今,VisualStudio.Net2005を使って簡易な音声再生ソフトを作ろうと考えております.
PlaySound( L"soundfilename.wav", NULL, (int)(SND_ASYNC | SND_FILENAME));
の関数で引数の音声ファイルを再生することまではできましたが,再生中の音声のボリュームを変更する方法が分かりません.
どなたか,再生中の音声のボリュームを変更する方法や関数を知っているかたがいらっしゃたら教えていただきたく存じ上げます.
何卒よろしくお願いいたします.
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
> mixer, mimio のAPIを一度詳しく調べてみようと思います.
揚げ足取りのようで失礼ですが一応「mimio」ではなく「mmio」です。恐らくMulti Media Input Output の略だと思います。
参考までに、wave系関数は一番古いタイプの音声入出力です。それ以外に DirectSound系関数や、Windows Vista以降でしか使えませんがCore Audio APIというのもあります。仕事でやっているリアルタイム音声処理だと結構シビアな問題があるのですが、効果音再生でそんなに違わないかと思います。
とは言え、wave系関数が一番参考文献やネット情報が多いので、新しく始めるには適しているかと思います。
> 再度質問事項が出るかもしれませんが,もし,
>ご回答可能でしたらまたよろしくお願いいたします.
ここは半年ぶりぐらいに来たのですが、しばらくウォッチする事にします。
が、私がいなくても私なんかよりよっぽど凄い人が多いのでそういう諸先輩方が回答して下さる事でしょう。
No.2
- 回答日時:
方法はおおまかに2通りあるかと思います。
1つはNo.1の方が書いていらっしゃいますように、mixer* 系のAPIを使ってミキサーのマスターボリュームまたは、WAVEのボリュームを制御してしまう方法です。
この方法ならばあらゆる再生音の音量を一挙に!制御できますが、ミキサーの設定を変えてしまうと他のアプリの音量まで変わってしまいます。そのため、起動時の音量を記憶して終了時に戻したりとか、終了時の音量を記憶して次回起動時に復活したりとかの工夫もありますが、アプリ起動中にユーザが別の目的で変更した音量設定まで戻してしまったりと副作用も多く、使う立場からすると頭の痛くなる状況です。
が、世の中の多くのアプリがこの方法で音量を制御しているためか、Windows Vistaでは業を煮やしたMicrosoft社が、mixer*系APIの「マスターボリューム」で制御した音量は、実際のマスターボリュームじゃなくて、アプリケーション毎に新設された仮想マスターボリュームを制御する事によって、このややこしい状況を解消しようとしています。
なので、あまりお勧めの方法ではありません。
もう1つは、mmio* 系のAPIを使って WAV ファイルのPCMデータをそのままメモリに読み込んで、waveOut* 系APIを使って再生するという方法でPlaySound()と同様の機能を組んで、PCMデータを読み込んだところで、8ビットデータなら128を引いてから倍率をかけて再び128を加え0~255でクリッピング、16ビットデータならそのまま倍率をかけて-32768~+32767でクリッピングしてからバッファに書き込んで、waveOut*系APIに渡します。
1倍以上の倍率にすると音が歪む可能性があるのが欠点です。なので、音量が大きめのWAVを用意しておき主に倍率は0~1の範囲で使うようにします。
この方法は WinAmp や Windows Media Player のアプリケーションボリュームに使われている方法で、使う立場からするとミキサーの値が勝手に変わったりしないので使いやすいものです。
ただし、WAV以外の形式のファイルを再生しようとすると、デコーダを持ってきて組み込むなど非常に大変な話になってしまうのでWAV限定の効果音などの再生に威力を発揮するものです。
仕事で開発した MyPlaySound() ってWAV再生用の関数は PlaySound() と同じように使えて音量や再生する音声デバイス繰り返し回数などを制御できるようにしたものでうまく動作しています。残念ながら著作権は会社にあるので勝手に出せませんが中身はここで書いたような形になっています。
以上、参考になればと思います。
具体的な関数の使い方は例えば「waveOutWrite」とか「waveOutOpen」などの関数名でネットで調べればわかるかと思います。
どうもありがとうございます.mixer, mimio のAPIを一度詳しく調べてみようと思います.開発された関数の中身を解説していただけて,本当に感謝しております.音声に関する知識が乏しいため,再度質問事項が出るかもしれませんが,もし,ご回答可能でしたらまたよろしくお願いいたします.失礼いたします.
No.1
- 回答日時:
★次のリンク先をどうぞ。
・http://hp.vector.co.jp/authors/VA016117/mixer1.h …→『ミキサー その1(音量の調節)』
http://hp.vector.co.jp/authors/VA016117/mixer2.h …→『ミキサー その2(ミュート)』
http://hp.vector.co.jp/authors/VA016117/mixer3.h …→『ミキサー その3(多チャンネル対応化)』
あまり詳しくないですが参考になればと思い書き込みました。
・以上。
参考URL:http://hp.vector.co.jp/authors/VA016117/index.html
リンク先のご提供どうもありがとうございます.
ご返信が遅くなってしまい,申し訳ありません.
とりあえず,リンク先を熟読してみます.ミキサーが何のかを一度理解する必要があるかもしれません.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 windows付属のボイスレコーダー。雑音が入らないように録音するには? 1 2022/05/16 22:39
- 画像編集・動画編集・音楽編集 YouTubeを録音できるソフトを教えてください。 5 2023/02/12 10:19
- その他(パソコン・周辺機器) Windows10パソコンで再生している音をWAVファイルとして録音、保存する方法は? 4 2023/06/15 18:34
- その他(AV機器・カメラ) 動画音声の「一部」がモノラルオーディオだと再生できない 2 2022/11/26 20:18
- スピーカー・コンポ・ステレオ 生声録音とスピーカーからの音声録音の違いについて 6 2022/07/28 17:08
- Windows 10 Windows10 の設定?について (長文ですがよろしくお願いします)m(_ _)m 3 2022/05/14 12:22
- Windows 8 パソコンからの音が出ません。 2 2022/05/01 12:38
- その他(スマホアプリ・スマホゲーム) YouTubeの録音(録画にあらず) 1 2022/09/25 14:15
- デスクトップパソコン WIN10のボイスレコーダーで録音しても再生できません 5 2022/04/17 09:01
- ビデオカメラ BDの動画より音楽のみをpcへ取り込む方法 5 2022/09/18 13:17
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
音量調節
C言語・C++・C#
-
VC++で音量の調整、ミュートは。
C言語・C++・C#
-
パソコン音声のミュートをVBAから制御するマクロ
Visual Basic(VBA)
-
-
4
2曲同時再生するにはどうしたらいい?
C言語・C++・C#
-
5
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
6
c言語での wavファイルの編集(音楽編集・フェード)
C言語・C++・C#
-
7
VB.NETでボリュームを取得・設定する方法
Visual Basic(VBA)
-
8
サウンド出力のデバイスを選択するにはどうしたら?
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Amazon Prime Videoの音量が通...
-
何メートル離れれば、おならの...
-
らくらくスマートフォンの音量...
-
快活クラブのテレビの音量調節...
-
アラームとYouTubeの音量が連動...
-
アパートでの朝のアラームは音...
-
ワイヤレスイヤホンをPCにBluet...
-
iTunesで取り込んだ音楽を車で...
-
win11の最大音量の設定について
-
PCとプリメインアンプどちらで...
-
itunes でオーディオCD作成時...
-
最大出力音圧レベルSPLについて
-
カナル型イヤホンは、どの位 「...
-
Yahoo! JAPANのニュースの動画...
-
DVDを再生している時の音量が小...
-
Windows11 システム通知音がも...
-
【至急】Logicool製ワイヤレス...
-
この場合の「調節」は間違って...
-
パソコンの音をヘッドフォンで...
-
MP3Gainについて質問です。 音...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
快活クラブのテレビの音量調節...
-
何メートル離れれば、おならの...
-
らくらくスマートフォンの音量...
-
Amazon Prime Videoの音量が通...
-
ワイヤレスイヤホンをPCにBluet...
-
アラームとYouTubeの音量が連動...
-
iTunesで取り込んだ音楽を車で...
-
アパートでの朝のアラームは音...
-
Windows11 システム通知音がも...
-
win11の最大音量の設定について
-
【至急】Logicool製ワイヤレス...
-
この場合の「調節」は間違って...
-
パソコンとテレビをHDM線でつな...
-
FMトランスミッターの音を大き...
-
大音量で音楽を聴く夫
-
音楽をCD-Rに焼いたときの音量
-
PCとプリメインアンプどちらで...
-
私はOPPO reno7Aという機種のス...
-
DVDを再生している時の音量が小...
-
FLAC形式の音量を調整できませ...
おすすめ情報