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

PropriedadeTipo
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>