【LabVIEW】サウンド再生中でも音量を変更できるVI

2019年11月6日

サウンドを再生している間でも音量を調整できるVIです。
サウンドがデフォルト音量だとサウンドファイルによっては
大きな音が出てくることもあるため音量調整は必要になると思います。

再生中でもサウンド音量を変更できるVI

今回のは単純にサウンドを再生しているかどうかを判定させているWhileループの中に音量調整を行う
サウンド出力音量設定関数も入れています。

サウンド出力音量設定関数にスライダーを取り付けることで再生中でも音量を変更することが出来ます。

サウンドの再生と音量調整について解説

VIの動作順序としては

  1. サウンド波形ファイルを読み込む
  2. サウンドを鳴らす
  3. サウンドがまだ再生中か確認する
  4. Trueであるならばサウンド音量を調整する
  5. サウンドが再生中ならWhileループは停止せず、4に戻る
  6. 再生が終わったならサウンド出力をストップする
  7. サウンドをクリアする。
  8. エラーがないか確認する

Whileループの中はサウンドが再生完了するまで抜け出せません。
サウンド出力情報から再生が完了すると、Falseが出力されるのでNot関数でTrueにしてWhileループから抜け出します。

サウンド再生中はサウンド出力情報がずっとTure出力を行っているので、FalseとなりWhileループが終了しません。ケースストラクチャはTrueが表示されるため、サウンド再生中は音量調整を行うことが出来ます。サウンド再生が終了するとケースストラクチャはFalseとなるため音量調整をせずにWhileループから抜け出します。

サウンドファイルについて

Wavファイル読み取りではなく、波形データ読み取りでサウンドを再生する構成で作っています。
Wavファイル読み取りに変更することで、Wavファイルでもサウンド再生中に音量を調整することが出来ます。

サウンドを鳴らし続ける場合の注意

サウンド再生中はWhileループから抜け出せないので、他の動作も同時に行いたい場合はループを別で動作させる必要があります。LabVIEWはデータフローで動作をするため、実行が完了するまで後ろにある関数の動作をさせることが出来なくなるため。