UNPKG

jamis

Version:

一种支持通过JSON配置方式生成页面的组件库

56 lines (55 loc) 1.82 kB
import React from 'react'; import type { RendererProps } from 'jamis-core'; import type { AudioSchema } from './types'; interface AudioProps extends RendererProps, Omit<AudioSchema, 'className'> { } export interface AudioState { src?: string; isReady?: boolean; muted?: boolean; playing?: boolean; played: number; seeking?: boolean; volume: number; prevVolume: number; loaded?: number; playbackRate: number; showHandlePlaybackRate: boolean; showHandleVolume: boolean; } export declare class Audio extends React.Component<AudioProps, AudioState> { audio: HTMLMediaElement; progressTimeout: ReturnType<typeof setTimeout>; durationTimeout: ReturnType<typeof setTimeout>; static defaultProps: Pick<AudioProps, 'inline' | 'autoPlay' | 'playbackRate' | 'loop' | 'rates' | 'progressInterval' | 'controls'>; state: AudioState; componentWillUnmount(): void; componentDidMount(): void; componentDidUpdate(prevProps: AudioProps): void; progress(): void; audioRef(audio: HTMLMediaElement): void; load(): void; handlePlaybackRate(rate: number): void; handleMute(): void; handlePlaying(): void; getCurrentTime(): string; getDuration(): string | number; onDurationCheck(): void; onSeekChange(e: any): void; onSeekMouseDown(): void; onSeekMouseUp(e: any): void; setVolume(e: any): void; formatTime(seconds: number): string; pad(string: number): string; toggleHandlePlaybackRate(): void; toggleHandleVolume(type: boolean): void; renderRates(): JSX.Element | null; renderPlay(): JSX.Element; renderTime(): JSX.Element; renderProcess(): JSX.Element; renderVolume(): JSX.Element; render(): JSX.Element; } export declare class AudioRenderer extends Audio { } export {};