@oiij/use
Version:
Som Composable Functions for Vue 3
73 lines (72 loc) • 2.95 kB
text/typescript
import * as vue30 from "vue";
import * as _vueuse_core7 from "@vueuse/core";
//#region src/composables/use-audio-context-buffer.d.ts
type AudioContextBufferOptions = {
analyser?: boolean;
volume?: number;
playbackRate?: number;
fadeOptions?: AudioContextBufferFadeOptions | boolean;
};
type AudioContextBufferFadeOptions = {
fade?: boolean;
duration?: number;
};
declare function useAudioContextBuffer(options?: AudioContextBufferOptions): {
eqFrequencies: number[];
audioContext: AudioContext;
audioBuffer: vue30.ShallowRef<AudioBuffer | undefined, AudioBuffer | undefined>;
bufferSource: vue30.ShallowRef<AudioBufferSourceNode | null, AudioBufferSourceNode | null>;
gainNode: GainNode;
analyserNode: AnalyserNode;
filters: BiquadFilterNode[];
filterNode: BiquadFilterNode;
status: vue30.Ref<AudioContextState, AudioContextState>;
volume: vue30.Ref<number, number>;
setVolume: (volume: number) => void;
playbackRate: vue30.Ref<number, number>;
setPlaybackRate: (playbackRate: number) => void;
detune: vue30.Ref<number, number>;
playing: vue30.Ref<boolean, boolean>;
paused: vue30.Ref<boolean, boolean>;
ended: vue30.Ref<boolean, boolean>;
startFlag: vue30.Ref<number, number>;
pauseFlag: vue30.Ref<number, number>;
currentTimeRaw: vue30.Ref<number, number>;
currentTime: vue30.ComputedRef<string>;
currentTimeText: vue30.ComputedRef<string>;
setCurrentTime: (time: number) => void;
durationRaw: vue30.Ref<number, number>;
duration: vue30.ComputedRef<string>;
durationText: vue30.ComputedRef<string>;
progressRaw: vue30.Ref<number, number>;
progress: vue30.ComputedRef<number>;
setProgress: (val: number) => void;
cachedDuration: vue30.Ref<number, number>;
cachedDurationText: vue30.ComputedRef<string>;
cachedProgress: vue30.Ref<number, number>;
playBuffer: (arrayBuffer: Uint8Array) => Promise<void>;
play: () => void;
pause: (options?: AudioContextBufferFadeOptions) => void;
resume: (options?: AudioContextBufferFadeOptions) => void;
stop: () => void;
toggle: () => void;
getFrequencyData: () => Uint8Array<ArrayBuffer>;
setEQFrequency: (index: number, value: number) => void;
getEQFrequency: (index: number) => number;
getEQFrequencies: () => {
frequency: number;
gain: number;
}[];
destroy: () => void;
onVolumeUpdate: _vueuse_core7.EventHookOn<void>;
onRateUpdate: _vueuse_core7.EventHookOn<void>;
onTimeUpdate: _vueuse_core7.EventHookOn<void>;
onDurationUpdate: _vueuse_core7.EventHookOn<void>;
onPlaying: _vueuse_core7.EventHookOn<void>;
onPaused: _vueuse_core7.EventHookOn<void>;
onEnded: _vueuse_core7.EventHookOn<void>;
onByteTimeDomainData: _vueuse_core7.EventHookOn<Uint8Array<ArrayBufferLike>>;
};
type UseAudioContextBufferReturns = ReturnType<typeof useAudioContextBuffer>;
//#endregion
export { AudioContextBufferFadeOptions, AudioContextBufferOptions, UseAudioContextBufferReturns, useAudioContextBuffer };