Audio Wave Player
Player de áudio com visualização de onda interativa, controles de reprodução e velocidade ajustável.
Utilização
index.tsx
import { AudioWavePlayer } from "@convertcompany/ui/audio";
Adicione e customize o css para as ondas do áudio
globals.css
:root{
--color-audio-wave: 227, 227, 229;
}
.dark {
--color-audio-wave: 31, 38, 41;
}
Funcionalidades
- WaveSurfer.js: Usa a biblioteca WaveSurfer.js para renderizar a forma de onda
- Interatividade: Clique na onda para navegar para diferentes posições
- Hover: Efeito de hover com linha indicadora
- Cores dinâmicas: Adapta-se ao tema atual usando CSS variables
Opções do WaveSurfer
O componente aceita todas as opções do WaveSurfer.js, exceto container e media que são gerenciados internamente, consulte toda documentação clicando aqui
waveSurferOptions={{
height: 24, // Altura da onda
barWidth: 3, // Largura das barras
barGap: 2.5, // Espaçamento entre barras
cursorWidth: 3, // Largura do cursor
barRadius: 3, // Raio das barras
waveColor: "rgb(...)", // Cor da onda
progressColor: "rgb(...)", // Cor do progresso
interact: true, // Interatividade
}}
Exemplos
Player básico
Player de áudio com visualização de onda e controles básicos.
Sem controle de velocidade
Player sem o botão de controle de velocidade.
Sem tempo atual
Player sem exibição do tempo atual.
Com opções customizadas do WaveSurfer
Player com configurações customizadas da visualização de onda.
Com referência forwardRef
Player com referência para controle externo.
Use forwardRef para acessar o elemento audio diretamente
Player em formulário
Exemplo de uso do player em um contexto de formulário.
O player se adapta ao tema e contexto do formulário
Props
| Propriedade | Tipo |
|---|---|
| srcURL do arquivo de áudio a ser reproduzido. | string |
| titleTítulo do áudio (usado para acessibilidade). | string |
| classNameClasse CSS adicional para customização. | string |
| canSpeedUpSe deve mostrar o botão de controle de velocidade. | boolean |
| showCurrentTimeSe deve mostrar o tempo atual do áudio. | boolean |
| containerPropsProps adicionais para o container do player. | React.AudioHTMLAttributes<HTMLDivElement> |
| waveSurferOptionsOpções customizadas para o WaveSurfer (exceto container e media). | Omit<WaveSurferOptions, 'container' | 'media'> |
| ...propsTodas as demais props nativas de <audio>. | <HTMLAudioElement> |