2010-08-13 5 views
7

Je ne trouve rien par le biais de recherches sur le net, mais est-il prévu de faire une API pour générer des morceaux audio à jouer dans un tag HTML5 <audio>?Création audio à l'aide de Javascript dans <audio>

EDIT: ceci est l'exemple ::

PSEUDOCODE:: 
var music = new Song([Array of hertz levels or notes]); 
var box = document.createElement('audio'); 
document.body.appendChild(box); 
box.src = music.convert(); 
box.play(); 

Répondre

5

En théorie, vous pouvez réellement faire maintenant - définir l'attribut source d'un élément audio à un data URI que vous construisez à la volée dans votre JavaScript . Je l'ai fait avec embed éléments et fichiers MIDI, qui fonctionne sur des machines avec QuickTime ou un autre assistant multimédia installé. Le problème, bien sûr, est que la génération de données audio est un peu plus intensive en calcul et prend plus de place (ce qui peut aller à l'encontre de la limite de taille des URL de données dans certains contextes ... IE et Mobile Safari esprit). Vous serez donc limité aux petits clips et vous risquez d'être limité par les heures de début et de fin de la balise audio.

Mozilla a un audio buffer API sur lequel il travaille, ce qui pourrait apporter un vrai son généré par programme au navigateur. En attendant, cependant, il s'agit soit de hacks Data URI, soit de trucs de type plugin comme Flash (qui a un programme Audio Buffer en version 10) ou Java.

Une note de plus: j'ai commencé un JavaScript Audio google group il y a quelques mois. Il n'y a pas encore beaucoup de discussions là-dessus, mais j'aimerais beaucoup que suffisamment de gens intéressés par la musique/l'audio/le son dans le contexte du navigateur s'enregistrent afin que nous puissions atteindre une masse critique et commencer à avoir conversations réelles sur des sujets comme celui-ci.

+1

Un article récent sur l'API Web Audio: http://www.html5rocks.com/en/tutorials/webaudio/games/ – mwcz

3

Mozilla ont publié une API de données audio, qui fonctionne dans Firefox 4 bêtas et Minefield nightlies:

https://wiki.mozilla.org/Audio_Data_API

http://vocamus.net/dave/?p=1148

Si je comprends bien, il y a aussi un projet WebKit similaire. Un groupe d'incubateurs audio W3C a été créé. Il a pour mission d'explorer la possibilité de lancer une ou plusieurs spécifications traitant de divers aspects de la fonctionnalité audio avancée, y compris la lecture et l'écriture de données audio brutes et la synthèse du son ou de la parole. '.

http://www.w3.org/2005/Incubator/audio/

Questions connexes