taro-hooks
Version:
为 Taro 而设计的 Hooks Library
27 lines (26 loc) • 924 B
TypeScript
import Taro from '@tarojs/taro';
import type { InnerAudioContext } from '@tarojs/taro';
import type { ExcludeOption, PromiseOptionalAction, WithUndefind } from '../type';
import type { Option as InnerOption } from './utils';
export type ContextField = {
autoplay: boolean;
loop: boolean;
src: string;
startTime: number;
volume: number;
playbackRate: number;
};
export type Option = ExcludeOption<Taro.setInnerAudioOption.Option> & ContextField;
export type SetOption = PromiseOptionalAction<InnerOption>;
export type Sources = Taro.getAvailableAudioSources.SuccessCallbackResult['audioSources'];
export type Play = (src?: string) => void;
export declare const INITOPTION: Partial<Option>;
declare function useAudio(initOption?: Partial<Option>): [
InnerAudioContext,
{
sources: WithUndefind<Sources>;
setOption: SetOption;
play: any;
}
];
export default useAudio;