fuc-new/doc/node_modules/vuepress-plugin-md-power/lib/client/composables/audio.d.ts
hellcat 6adbc04d4b 1
2025-10-03 17:17:08 +08:00

41 lines
1.3 KiB
TypeScript

import { MaybeRef, Ref } from "vue";
//#region src/client/composables/audio.d.ts
interface BufferedRange {
start: number;
end: number;
}
interface AudioPlayerOptions {
type?: MaybeRef<string>;
autoplay?: boolean;
mutex?: boolean;
onload?: HTMLAudioElement["onload"];
onerror?: HTMLAudioElement["onerror"];
onpause?: HTMLAudioElement["onpause"];
onplay?: HTMLAudioElement["onplay"];
onplaying?: HTMLAudioElement["onplaying"];
onseeked?: HTMLAudioElement["onseeked"];
onvolume?: (volume: number) => void;
onend?: HTMLAudioElement["onended"];
onprogress?: (current: number, total: number) => void;
oncanplay?: HTMLAudioElement["oncanplay"];
oncanplaythrough?: HTMLAudioElement["oncanplaythrough"];
ontimeupdate?: (currentTime: number) => void;
onwaiting?: HTMLAudioElement["onwaiting"];
}
interface UseAudioPlayerResult {
player: HTMLAudioElement | null;
isSupported: Ref<boolean>;
loaded: Ref<boolean>;
paused: Ref<boolean>;
currentTime: Ref<number>;
duration: Ref<number>;
play: () => void;
pause: () => void;
seek: (time: number) => void;
setVolume: (volume: number) => void;
destroy: () => void;
}
declare function useAudioPlayer(source: MaybeRef<string>, options?: AudioPlayerOptions): UseAudioPlayerResult;
//#endregion
export { AudioPlayerOptions, BufferedRange, useAudioPlayer };