5568 sujets

Sémantique web et HTML

Bonjour,

Dans le cadre d'un projet, je vais devoir "mixer" 2 pistes audio en même temps.

J'aimerais utiliser la balise <audio> pour cela, mais je n'ai pas trouvé de ressources pour arriver à lire 2 pistes en même temps.
Je dois pouvoir gérer le volume en javascript.

Si quelqu'un à une piste à me donner, je suis preneur Smiley smile

David.
Bonjour,

Les possibilités en HTML5 sont limitées pour ça. Je n'ai jamais fait de développement JS+Audio donc je ne saurais pas dire exactement à quel point.

Pour palier à ces limites et permettre la création d'applications utilisant les sons de manière intensive (jeux, lecteurs de musique avec fonctionnalités avancées, outil d'édition...), Mozilla a créé une API avancée qui est implémentée dans Firefox 4:
https://wiki.mozilla.org/Audio_Data_API

Et du côté de Chrome/Webkit, on travaille sur une autre API du même genre:
https://chromium.googlecode.com/svn/trunk/samples/audio/specification/specification.html

C'est très neuf (été 2010, début 2011...) et je ne sais pas s'il y a eu un début de convergence entre les deux propositions récemment.
Merci pour ta réponse Florent,

Je vais explorer la piste, sachant que c'est pour du développement mobile et que ça doit fonctionner sur iOS Android Windows Phone BB etc.

Je pensé à une autre solution qui consisterai a mixer les 2 MP3 coté serveur.

Si je trouve des pistes exploitable et cross-plateforme, je viendrais en parler ici

David
gandoulfee a écrit :
Je vais explorer la piste, sachant que c'est pour du développement mobile et que ça doit fonctionner sur iOS Android Windows Phone BB etc.

C'est réglé: aucune des deux API n'est disponible sur ces plateformes. Smiley cligne
Modérateur
Et l'eau,

pour le code JS qui permet de gérer le volume d'un élément audio :


            <audio id="player">
                <source src="ledZep.ogg" />
                <source src="ledZep.mp3" />
            </audio>
            <button id="volumeUp">Volume Up</button>
            <button id="volumeDown">Volume Down</button>



window.onload = function(){
        var btnVolumeUp = document.getElementById('volumeUp');
        var btnVolumeDown = document.getElementById('volumeDown');
        var player = document.getElementById('player');
        
        btnVolumeUp.onclick = function(){
            player.volume += .1;
        }
        btnVolumeDown.onclick = function(){
            player.volume -= .1;
        }
    }


à noter, qu'il y a d'autres options telles que play(), stop(), currentTime, etc.
Modifié par niuxe (09 Jun 2011 - 22:34)
urcadox a écrit :
Il suffit d'utiliser deux éléments audio tout simplement. Smiley cligne


Bonne idée, qui fonctionne à merveille sur un navigateur de bureau. Mais sur un test iPhone, je n'entend qu'une seule des 2 musiques et encore pire sur Android 2.2, aucuns codecs n'est supporté par le navigateur de base..
(test avec http://www.brianhadaway.com/audio/test.html)