UNPKG

vue-waveform

Version:

waveform audio player wavesurfer -waveform js html 音频audio波形图

42 lines (36 loc) 962 B
// import bus from './event' export default class Mse { constructor() { this.initMediaSource() } initMediaSource() { let dom = new Audio() this.dom = dom this.mediaSource = new MediaSource() /*this.dom.addEventListener('timeupdate', (e) => { console.log(`timeupdate = ${this.dom.currentTime}`) }) this.dom.addEventListener('play', (e) => { bus.$emit('play') })*/ dom.src = window.URL.createObjectURL(this.mediaSource) this.mediaSource.addEventListener('sourceopen', this.onSourceOpen.bind(this)) } onSourceOpen() { this.sourceBuffer = this.mediaSource.addSourceBuffer('audio/aac') } play() { this.dom && (this.dom.play()) } pause() { this.dom && (this.dom.pause()) } appendBuffer (buffer) { this.sourceBuffer.appendBuffer(buffer) } stop() { this.dom = null this.mediaSource = null this.initMediaSource() } }