Ultimamente, tenho trabalhado muito com visualizações, o que é muito diferente da codificação normal de interação de elementos de páginas da Web; o senhor precisa de conhecimento avançado de geometria, conhecimento de renderização e desempenho e muito mais. Tem sido uma ótima experiência de aprendizado, mas pode ser desafiador e nem sempre é do interesse de todos os desenvolvedores da Web. É por isso que usamos aplicativos e serviços especializados em tarefas complexas, como Cloudinary: precisamos que isso seja feito rapidamente e por uma ferramenta escrita por um especialista.
Embora meus experimentos anteriores tenham sido com imagens (Otimização de imagens, Remover fundos de fotose Marcação automática de imagens), Cloudinary também tem a capacidade de manipular arquivos de vídeo e áudio, além de otimizar a entrega. O próximo experimento misturará imagens e mídia: geraremos imagens em forma de onda a partir de um arquivo de áudio!
Etapa 1: Faça o upload do arquivo
A primeira etapa é carregar o arquivo de mídia no Cloudinary, o que pode ser automatizado com código ou feito manualmente no painel de controle do Cloudinary. Vamos supor que o arquivo esteja no Cloudinary.
Etapa 2: Gerar imagem
O senhor pode usar qualquer número de linguagens para interagir com a API do Cloudinary, mas, para este experimento, usaremos Node.js e JavaScript. E o JavaScript necessário para gerar e recuperar a imagem básica da forma de onda? Muito menos do que o senhor imagina:
var result = cloudinary.image("Lights_qh6vve.png", { height: 200, width: 500, flags: "waveform", resource_type: "video" });
Então, o que acontece exatamente com o código acima? Vamos examiná-lo:
- O primeiro argumento,
Lights_qh6vve.png
é o nome do arquivo MP3 carregado, substituindo.mp3
por.png
- O segundo argumento fornece as configurações de imagem desejadas, personalizando a altura e a largura da imagem gerada…
- …enquanto
flags: waveform
eresource_type: video
informe ao Cloudinary que o senhor deseja gerar a imagem da forma de onda
O resultado é um img
tag:
<img src="https://res.cloudinary.com/david-wash-blog/video/upload/fl_waveform,h_200,w_500/Lights_qh6vve.png" height="200" width="500"/>
… que se parece com:
Personalização da imagem
O Cloudinary oferece flexibilidade na geração de imagens, portanto, vamos criar uma imagem de forma de onda mais personalizada. Vamos brincar com as cores:
var result = cloudinary.image("Lights_qh6vve.png", { height: 200, width: 500, flags: "waveform", resource_type: "video", background: '#acd7e5', color: '#ffda7f' });
Essas cores geram uma imagem de forma de onda parecida com a seguinte:
Em seguida, podemos usar as propriedades de deslocamento para obter apenas um trecho da imagem da forma de onda:
var result = cloudinary.image("Lights_qh6vve.png", { height: 200, width: 500, flags: "waveform", resource_type: "video", background: '#acd7e5', color: '#ffda7f', start_offset: 1, // in seconds end_offset: 240 });
O que nos dá essa imagem nítida:
Essa experimentação foi muito divertida e prova que a criação de imagens de forma de onda é apenas mais uma função incrível fornecida pelo Cloudinary. Cloudinary é um (incrível) balcão único para fazer upload, manipular e fornecer imagens e vídeos. Se precisar manipular imagens ou simplesmente achar que precisará fazer isso no futuro, dê uma boa olhada no Cloudinary – eles farão mais do que o senhor imagina!