luminescente

HTML 5 media

Uncategorized — Pedro Cardoso on August 29, 2008 at 12:01 am

Estive para aqui a brincar com a tag <audio> uma das novas funcionalidades do HTML5. Penso que apenas o Safari a suporta para já.

Estive a tentar fazer uma theremin, controlada com o rato: um dos eixos controlava a frequência, outro eixo o vibrato e a scroll-wheel controlava o volume. Tentei gerar amostras curtas, da ordem de 1/4 de segundo, em função das variáveis de controlo, mas ainda tenho alguns problemas a resolver.

O elemento AUDIO fornece um evento “ended” que é invocado quando termina o playback, mas parece-me ter um atraso de meio segundo entre o fim e a invocação do evento. Para contornar esta questão, larguei o “ended” e coloquei um evento agarrado ao timer a gerar e a fazer playback de amostras em sequência, mas tenho problemas de sincronização entre as várias amostras.

Para gerar as amostras dinamicamente estou a construir em memória uma estrutura de um ficheiro WAV, com que alimento o elemento AUDIO com o método “data:”. Neste caso, o atributo “src” do Audio é algo como “data:audio/wav;base64,” + base64_encode(wav).

Sei que estou a abusar com geração de som em tempo real em Javascript, ainda para mais com codificação base64 pelo meio, mas se funcionar bem fica um bom hack… :) Sempre pode dar para fazer um dialer DTMF ou um gerador de blips daqui a uns dias.

Pelo menos pode dar para colocar um site a apitar como as caixas do Pingo Doce de cada vez que se passa com o rato num link, tal como faz o anúncio ao site da SIC que passa na SIC Notícias a toda a hora…

5 Comments »

  1. Não era o Firefox 3 que ia suportar a tag <audio> e <video> ? já vou pesquisar… :)

    Comment by Softwork — August 29, 2008 @ 12:30 am
  2. O FF3 ainda não suporta. A página do blog do webkit que faço o link tem um demo. Se te aparecer um vídeo, é porque dá :)

    Comment by Pedro Cardoso — August 29, 2008 @ 12:34 am
  3. Não aparece, tenho de ver no safari…, eheh

    Comment by Softwork — August 29, 2008 @ 12:39 am
  4. Pois, o Firefox 3.1 é que vai suportar.

    Comment by Softwork — August 29, 2008 @ 7:14 pm
  5. […] Para o meu protótipo, aproveitei uma brincadeira que fiz há uns meses quando descobri que podia reproduzir audio a partir de uma página HTML apenas com Javascript (e o Safari). O meu demo era uma página HTML que gerava e reproduzia os .WAV para cada acção de um Apple […]

    Pingback by luminescente » Codebits 2008 — November 16, 2008 @ 11:55 pm

RSS feed for comments on this post. TrackBack URI

Leave a comment

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. | luminescente