Files
youtube-music/plugins/visualizer/visualizers/vudio.ts
JellyBrick 40745d3946 feat: apply rollup 🚀 (#20)
Co-authored-by: Su-Yong <simssy2205@gmail.com>
2023-10-04 17:51:39 +09:00

53 lines
995 B
TypeScript

import Vudio from 'vudio/umd/vudio';
import { Visualizer } from './visualizer';
import type { ConfigType } from '../../../config/dynamic';
class VudioVisualizer extends Visualizer<Vudio> {
name = 'vudio';
visualizer: Vudio;
constructor(
audioContext: AudioContext,
audioSource: MediaElementAudioSourceNode,
visualizerContainer: HTMLElement,
canvas: HTMLCanvasElement,
audioNode: GainNode,
stream: MediaStream,
options: ConfigType<'visualizer'>,
) {
super(
audioContext,
audioSource,
visualizerContainer,
canvas,
audioNode,
stream,
options,
);
this.visualizer = new Vudio(stream, canvas, {
width: canvas.width,
height: canvas.height,
// Visualizer config
...options,
});
this.visualizer.dance();
}
resize(width: number, height: number) {
this.visualizer.setOption({
width,
height,
});
}
render() {
}
}
export default VudioVisualizer;