Giter Club home page Giter Club logo

vue-wave-sufver's Introduction

Installation

npm i vue-wave-surfer

or

yarn add vue-wave-surfer

Module

As a global vue-cli plugin

import Vue from 'vue'
import VueWaveSurfer from 'vue-wave-surfer'

Vue.use(VueWaveSurfer)

As a nuxt global plugin

// plugins/vue-wave-surfer.js
import Vue from 'vue'
import VueWaveSurfer from 'vue-wave-surfer'

Vue.use(VueWaveSurfer)
// nuxt.config.js
export default {
  plugins: [
    '~/plugins/vue-wave-surfer'
  ]
}

As a component plugin

import VueWaveSurfer from 'vue-wave-surfer'
export default {
  components: {
    VueWaveSurfer
  }
}

Usage

<template>
  <vue-wave-surfer :src="file" :options="options"></vue-wave-surfer>
</template>
<script>
export default {
  data() {
    return {
      options: {
      },
      file: 'http://example.com/file.mp3'
    }
  }
}
</script>

Options

See the list of options in the official documentation

Using Plugins

An example implementing the Cursor plugin

<script>
import Cursor from 'wavesurfer.js/dist/plugin/wavesurfer.cursor';
export default {
  data() {
    return {
      options: {
        plugins: [
          Cursor.create()
        ]
      }
    }
  }
}
</script>

Capturing Events

  1. Create a vue-wave-surfer element and adding a ref to it
  2. Create a computed property returning the elemenents waveSurfer object
  3. Access waveSurfer events and methods in the mounted() function

This is a client-only module so be sure to wrap it in a client-only tag if using nuxt

<vue-wave-surfer src="url.mp3" ref="surf"></vue-wave-surfer>
<script
export default {
  mounted() {
    this.player.on('ready', () => {
      console.log('ready')
    })
  },
  computed: {
    player() {
      return this.$refs.surf.waveSurfer
    }
  }
}
</script>

vue-wave-sufver's People

Contributors

hunter-isaiah96 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.