Audio Wave Player
Player de áudio com visualização de onda interativa, controles de reprodução e velocidade ajustável.
0:00
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.
0:00
Sem controle de velocidade
Player sem o botão de controle de velocidade.
0:00
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.
0:00
Com referência forwardRef
Player com referência para controle externo.
0:00
Use forwardRef para acessar o elemento audio diretamente
Player em formulário
Exemplo de uso do player em um contexto de formulário.
0:00
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> |