J'aimerais générer une séquence de notes MIDI en JavaScript, puis la jouer. De nombreux plugins soutiennent MIDI, mais je ne suis au courant d'aucune URL "Données:". La génération de contenu MIDI n'est pas une grosse affaire - mais nourrir ce contenu dans le joueur est. Tout le monde sait comment cela peut être fait - sinon en général, au moins pour un plugin spécifique comme QuickTime? P>
5 Réponses :
On dirait que le moyen le plus simple serait de passer les données MIDI à par ex. un script PHP qui renvoie ensuite l'entrée. Ensuite, vous pouvez utiliser "YourScript.PHP? Votre-MIDI-Data" au lieu de "Données: Vos mini-Data". P>
problème très soigné. J'ai beaucoup travaillé ces derniers temps avec des images codées de base64 et j'ai régulièrement utilisé http: // www .greywyvern.com / code / php / binarin2base64 pour encoder des images. Je viens d'essayer de convertir un fichier MIDI et de mettre le flux de texte base64 dans un HTML et qu'il a joué très bien à Firefox (qui m'a étonné). Voici le code (avec le flux de base64 retiré pour la brièveté): Je ne suis pas sûr qu'il est possible d'aller d'une image binaire à la base64 dans JS, mais je soupçonne que partir de Midi pourrait être. C'est un début. p> p>
Vous voudrez peut-être jeter un coup d'œil à la liste des blogs suivants. Il s'agit d'une bibliothèque qui fait exactement ce que vous essayez de faire, côté client. Sachez que la reproductibilité MIDI de navigateur croisée dans les navigateurs n'est pas vraiment cohérente, cependant. P>
http://sergimansilla.com/blog/dinamiquement-generating-Midi -In-javascript / p>
Sergi, votre solution ne semble pas aborder le problème principal. Si vous utilisez "incorporé" ou "objet", vous n'avez pas de contrôle sur la lecture. L'interface QuickTime résout le problème. Vous avez un contrôle complet sur JavaScript, peut même générer et ajouter des trucs de manière dynamique. Et cela fonctionne avec l'URL de données. Qui était tout un point de la question initiale.
En plus d'utiliser JavaScript (voir Sergi's Post), vous pouvez utiliser Java comme méthode de secours avec My JavaScript vers Java Bridge qui expose des portions du framework MIDI: http://mudcube7.blogspot.com/2010/08/dynamic-midi-generation-in-browser.html a> p>
QuickTime avec URL de données fonctionne avec Firefox et Chrome (relevés récents, sans bêta), vous devez suivre les instructions de site Web QuickTime : Initialiser QuickTime en appelant Qt_writeObject code> Fonction (Je devais fournir une initiale SRC valide pointant vers le fichier MP3 de Beethoven, juste pour le garder de la plainte - peut-être que ce n'est pas nécessaire), inscrivez-vous des auditeurs comme détaillé dans ladite référence, et après avoir reçu le rappel qt_load, appelez
document.movie1. SETURL (MyDataurl) Code> Méthode. J'ai utilisé le codage de base64 dans URL de données:
"Données: Audio / MIDI; base64, ..." code>. (Le contenu a été généré par JavaScript). Tout a fonctionné de manière sensationnelle: Jouer (), STOP (), etc. La partie la plus difficile lisait leur DOC monumental (note qu'il a également une partie "HTML") P>
Le lien n'est pas bon ...
WEBIIDI aide-t-il? développeur.mozilla.org/en-us/docs/web/api/ MIDIACCESS