lingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
25 lines • 819 B
JavaScript
import { Reactive } from "@lincode/reactivity";
import Appendable from "./core/Appendable";
import { timelineAudioDefaults, timelineAudioSchema } from "../interface/ITimelineAudio";
class TimelineAudio extends Appendable {
static componentName = "timelineAudio";
static defaults = timelineAudioDefaults;
static schema = timelineAudioSchema;
audio = new Audio();
constructor() {
super();
this.audio.ondurationchange = () => (this.duration = this.audio.duration);
}
srcState = new Reactive(undefined);
get src() {
return this.srcState.get();
}
set src(value) {
this.srcState.set(value);
this.audio.src = value ?? "";
this.duration = 0;
}
duration = 0;
}
export default TimelineAudio;
//# sourceMappingURL=TimelineAudio.js.map