vue-audio-visualでMediaStreamの音声入力を可視化する

NuxtJS
この記事は約2分で読めます。

最近はWeb会議も当たり前になってきました。ですが、Web会議の始まる前の「声は聞こえてますか」「画面は見えてますか」のやりとりには未だに慣れません😅あの一瞬し〜んとなるのがなんとも、、

さて、今回はWeb会議のマイク入力がちゃんと拾えているかビジュアライズする、よくみるゲージバーをVue.jsで実装してみます。Web Audio APIを使ってやる方法もありますが、vue-audio-visualというライブラリがあるので、そちらを使ったサンプルを作ってみたいと思います💪

インストール

Nuxt3を使っていきます。vueuseも入れます。vueuseは、MediaDevicesの取得で使用します。

プラグイン設定

Nuxt3のプラグインとして設定し、ライブラリのコンポーネントの中で利用可能にします。

これで準備ができました。Nuxt3ではpluginsディレクトリ配下のプラグインは自動でロードされるので、nuxt.config.tsで指定する必要はありません。

コンポーネントでの利用

App.vueコンポーネントに組み込みんでみます。

vueuseのuseDevicesListを使うとvideo、audioInput/Outputのデバイスリストを取得できます。watchでmicrophones参照を指定し、デバイスリストをaudioInputs参照に格納しています。

表示してみましょう。

http://localhost:3001にアクセスし、カメラとマイクの許可をすると、、

表示されました!音声に反応してゲージが動いていることを確認できます。

参考リンク

 

コメント

タイトルとURLをコピーしました