react-h5-audio-player
Version:
A customizable React audio player. Written in TypeScript. Mobile compatible. Keyboard friendly
37 lines (36 loc) • 1.34 kB
TypeScript
import React, { Component, SyntheticEvent } from 'react';
interface VolumeControlsProps {
audio: HTMLAudioElement;
volume: number;
onMuteChange: () => void;
showFilledVolume: boolean;
i18nVolumeControl: string;
}
interface VolumeControlsState {
currentVolumePos: string;
hasVolumeAnimation: boolean;
isDraggingVolume: boolean;
}
interface VolumePosInfo {
currentVolume: number;
currentVolumePos: string;
}
declare class VolumeControls extends Component<VolumeControlsProps, VolumeControlsState> {
audio?: HTMLAudioElement;
hasAddedAudioEventListener: boolean;
volumeBar: React.RefObject<HTMLDivElement>;
volumeAnimationTimer: number;
lastVolume: number;
state: VolumeControlsState;
getCurrentVolume: (event: TouchEvent | MouseEvent) => VolumePosInfo;
handleContextMenu: (event: SyntheticEvent) => void;
handleClickVolumeButton: () => void;
handleVolumnControlMouseOrTouchDown: (event: React.MouseEvent | React.TouchEvent) => void;
handleWindowMouseOrTouchMove: (event: TouchEvent | MouseEvent) => void;
handleWindowMouseOrTouchUp: (event: MouseEvent | TouchEvent) => void;
handleAudioVolumeChange: (e: Event) => void;
componentDidUpdate(): void;
componentWillUnmount(): void;
render(): React.ReactNode;
}
export default VolumeControls;