LoginSignup
2
1

More than 3 years have passed since last update.

Vuetify2.xでサウンド再生した

Posted at

概要

外部でなく、自前(ローカル)にあるファイルをぺろっとVuetifyのプロジェクトで音再生したかった。
そのあたりのメモ。

こまったこと

ぐぐったかんじwebpack.config.jsとかでwavファイルとかmp3ファイルをローディングできるように設定する例があった。
しかしvuetifyの標準プロジェクトだと、設定ファイルとしてplugins/vuetify.jsとvue.config.jsがあるが、webpack用なるファイルはない。

Vue + Nuxtでボードゲームを6時間で作ってみたという記事ではnuxtの設定ファイルで拡張子ルールを追記してる...

sassとかのローディングもおなじような設定したことが昔はあったなと、ググると次の記事をみつけた。
Vuetify v1.3で追加されたvuetify-loaderが便利だった

:thinking: これはimportすれば自動で解決してくれるってこと?

解決編

コンポーネントでimportすれば勝手に解決してくれた。
再生部分については、こちらの記事を参考にした。

main.js
Vue.prototype.$playSound = (path, volume = 1) => {
  var audio = new Audio(path);
  audio.volume = volume
  audio.play();
}
Hoge.vue
<template lang="pug">
  v-btn(@click="playSound") ほげー
(中略)
<script>
    import sndHoge from '../assets/sounds/hoge.wav'
(中略)

        methods: {
            playSound() {
                this.$playSound(sndHoge, 10)
            },
(以下略)

まとめ

うごいてるからヨシ! (buildしたときにデカくなるとか何か影響はでそうだが、未確認)

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1