Pitch: Vocal Clip – o que aprendi construindo um gravador de voz no browser que funciona no Safari
Pessoal,
Quero compartilhar um projeto que venho construindo: o Vocal Clip, um gravador de áudio web que gera link compartilhável sem precisar de conta.
O caso de uso é simples: às vezes você quer mandar um áudio contextualizado — numa PR, num email, num canal do Slack — e não quer depender do WhatsApp pra isso.
Mas o que tornou o projeto interessante de construir foi a parte técnica. Alguns desafios que não esperava:
- Safari e MediaRecorder: o Safari só suporta audio/mp4, enquanto Chrome prefere webm. Tive que ordenar os MIMEs com fallback e lidar com o fato de que blobs de mp4 retornam duration = Infinity
- Progresso de playback no mobile: timeupdate é throttled em mobile. Resolvi com requestAnimationFrame + Date.now() pra rastrear o tempo via relógio de parede, sem depender de nenhuma API do elemento de áudio
- Stack: tudo roda em Val Town (Deno + Hono), zero servidor pra gerenciar
O projeto está no ar e funcionando. Ainda tem bastante coisa pra fazer, mas queria compartilhar antes de "estar pronto" (que nunca chega).
Curiosidade de vocês: usam alguma solução hoje pra compartilhar áudios fora do WhatsApp?