@oiij/use
Version:
Som Composable Functions for Vue 3
40 lines (39 loc) • 1.44 kB
TypeScript
import * as vue12 from "vue";
//#region src/composables/use-audio-context.d.ts
interface Options {
analyser?: boolean;
volume?: number;
}
declare function useAudioContext(options?: Options): {
audioContext: AudioContext;
bufferSource: vue12.ShallowRef<AudioBufferSourceNode | null, AudioBufferSourceNode | null>;
gainNode: GainNode;
analyserNode: AnalyserNode;
status: vue12.Ref<AudioContextState, AudioContextState>;
playing: vue12.Ref<boolean, boolean>;
startFlag: vue12.Ref<number, number>;
pauseFlag: vue12.Ref<number, number>;
currentTimeRaw: vue12.Ref<number, number>;
currentTime: vue12.ComputedRef<string>;
durationRaw: vue12.Ref<number, number>;
duration: vue12.ComputedRef<string>;
progressRaw: vue12.Ref<number, number>;
progress: vue12.ComputedRef<number>;
setProgress: (val: number) => void;
onProgress: (fn: (progress: number) => void) => void;
volume: vue12.Ref<number, number>;
detune: vue12.Ref<number, number>;
playbackRate: vue12.Ref<number, number>;
updateDuration: () => void;
playBuffer: (arrayBuffer: Uint8Array) => Promise<void>;
play: () => void;
pause: () => void;
resume: () => void;
stop: () => void;
onByteTimeDomainData: (fn: (array: Uint8Array) => void) => void;
destroy: () => void;
onEnded: (fn: () => void) => void;
};
type UseAudioContextReturns = ReturnType<typeof useAudioContext>;
//#endregion
export { UseAudioContextReturns, useAudioContext };