Forums : XPCom

Aller à la discussion :  Plus récente Plus ancienne

# [Résolu] Application XUL/MP3 => réaliste ou pas ?

Envoyé par : Geceo

Date : 06/06/2005 12:00

Bonjour,

Je voudrais développer une application Gecko qui serait capable de lire un fichier MP3.

Pour qu'on se comprenne bien : je sais qu'en cliquant sur un fichier MP3 dans Mozilla, ça lance un lecteur externe. Mais le problème, c'est que mon application XUL aura besoin d'une fonction bien précise, qui n'est pas "appelable" de l'extérieur dans les applications graphiques du genre XMMS ou Media Player.

Pour être plus clair, il s'agit d'une fonction qui permettrait de lire seulement un passage du fichier MP3, quelque chose comme : lire (fichier, debut, fin) qui lance la lecture de fichier à partir de l'instant debut (en secondes) et arrête la lecture à l'instant fin

Donc voici mes questions :

1/ Est-ce qu'il y a déjà eu des applications audio construites autour de Gecko?

2/ Connaissez-vous un composant XPCOM capable de décoder un fichier MP3?

Je précise que j'ai trouvé Audiere mais j'ai l'impression qu'il n'est plus maintenu (la dernière news date de 2003).

Merci de vos réponses!

Geceo

PS : J'ai posté le même message sur Geckozone et on m'a conseillé de demander plutôt sur Xul-fr.

# Re: Application XUL/MP3 => réaliste ou pas ?

Envoyé par : laurentj

Date : 06/06/2005 13:11

1) pas à ma connaissance

2) je ne pense pas que cela existe

Le mieux est effectivement d'utiliser une bibliothèque externe comme audière, et de te faire un XPCOM en C++ qui se baserait sur cette bibliothèque.

# Re: Application XUL/MP3 => réaliste ou pas ?

Envoyé par : Paul Rouget

Date : 09/06/2005 17:37

Ca existe deja: http://xullicious.blogspot.com/2005/06/xul-music.html

# Re: Application XUL/MP3 => réaliste ou pas ?

Envoyé par : Geceo

Date : 10/06/2005 11:29

Merci pour l'information, ça semble intéressant. J'ai un peu de mal à trouver comment on peut compiler XulRunner. J'ai fait :

export CVSROOT=":pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot"

cvs co mozilla/client.mk mozilla/xulrunner/config

cd mozilla

export MOZ_CO_PROJECT=xulrunner

gmake -f client.mk

Là il télécharge tous les fichiers sur le CVS (ça prend plusieurs minutes), mais il plante à la fin du "configure" en me disant qu'il faut "--enable-application=APP".

Donc je me suis qu'avec :

./configure --enable-application=APP

ça passerait, mais ça ne change rien. Avez-vous une solution? C'est la première fois que je compile du Mozilla, et je n'ai rien trouvé sur Google. Ça doit vraiment être une erreur basique, mais si vous pouviez m'aider, ça serait sympa.

À bientôt, Geceo

# Re: Application XUL/MP3 => réaliste ou pas ?

Envoyé par : Geceo

Date : 10/06/2005 11:35

Quel idiot! Il fallait évidemment faire :

./configure --enable-application=xulrunner

Et maintenant je peux compiler!

« Quand le sage montre la lune, l'idiot regarde le doigt. »

Geceo

# Re: Application XUL/MP3 => réaliste ou pas ?

Envoyé par : Geceo

Date : 14/06/2005 19:27

Bonjour,

J'ai étudié le code de Xul Music et effectivement ça résoud une partie de mon problème, à savoir l'ouverture et la lecture d'un MP3 dans Mozilla. Il y a même dans l'interface du composant XPCOM une fonction setPosition (in long position) qui se rapproche de la fonction lire(fichier, debut, fin) dont j'ai parlé dans mon premier message.

Le souci que j'ai, c'est qu'une fois que j'aurais appelé setPosition et que la lecture aura commencé, il faudra détecter que le lecteur atteint (ou dépasse) l'instant fin pour savoir quand il faut appeler player.stop()... Sur ce point :

  1. Y a-t-il un moyen d'éviter de faire de l'attente active en JavaScript? Je veux dire par là, existe-t-il une solution en JavaScript qui permette d'éviter de scruter la valeur de player.getPosition() dans une boucle? Quelque chose comme une minuterie?
  2. Si non (pas de solution en JavaScript), j'imagine que je peux m'en sortir en modifiant le composant XPCOM. À vue d'oeil, pensez-vous qu'il sera facile d'ajouter une fonction read(in long start, in long end) dans les fichiers Win32Track.cpp et GstTrack.cpp?

Merci pour vos conseils et à bientôt,

Geceo

# Re: Application XUL/MP3 => réaliste ou pas ?

Envoyé par : Geceo

Date : 15/06/2005 10:08

Bonjour,

Pour mon histoire de fonction lire(debut,fin), c'est en passe d'être résolu. L'auteur de Xul Music multiplie la position récupérée par l'interface (en secondes) par 10000000 dans Win32Track.cpp, et par 1000000000 dans GstTrack.cpp, afin de s'adapter aux unités utilisées par DirectX et GStreamer, respectivement. Il suffit donc de multiplier par un nombre 10 fois plus petit dans chaque cas pour pouvoir être 10 fois plus précis dans la position passée au lecteur.

Pour la question de l'instant de fin, j'ai vu que la méthode setPositions de DirectShow pouvait le prendre en paramètre. Par contre dans GStreamer, la méthode gst_element_seek n'est pas très explicite.

Le plus dur sera de recompiler le composant XPCOM.

Geceo

# Re: Application XUL/MP3 => réaliste ou pas ?

Envoyé par : Geceo

Date : 20/04/2006 18:52

Bonjour,

J'ajoute un dernier retour d'expérience sur ce projet qui remonte maintenant à pratiquement un an, pour dire que je n'ai pas réussi à recompiler le composant XPCOM avec le compilateur fourni gratuitement par Microsoft (Microsoft Visual C++ Toolkit 2003). En effet, pour décoder un MP3, le composant XUL Music utilise DirectX, et Cygwin/g++ ne pouvait pas le faire. Ce fut une grosse déception pour moi car c'était pour mon travail, et finalement j'ai été contraint de garder l'application en Java que j'avais déjà écrite auparavant (elle fonctionne, mais ça reste du Java, donc pas rapide et assez moche).

Cependant, je reste intéressé par le sujet et si quelqu'un peut me donner l'adresse d'un site qui explique étape par étape les manipulations à effectuer pour parvenir à recompiler le composant XPCOM qui m'intéresse, avec un compilateur gratuit (j'insiste!), il est vraiment le bienvenu.

Geceo

# Re: [Résolu] Application XUL/MP3 => réaliste ou pas ?

Envoyé par : Paul Rouget

Date : 22/04/2006 01:18

J'utilise ce compilateur (Microsoft Visual C++ Toolkit 2003 - version gratuite) et je m'en suis sortis. J'utilise aussi de lib extérieurs. C'est vrai que pour quelqu'un venant du monde Unix comme moi, ce n'a pas été trivial, mais une fois le pb de compilation passé, ça roule.

Quel était ton probleme exactement ?

# Re: [Résolu] Application XUL/MP3 => réaliste ou pas ?

Envoyé par : Paul Rouget

Date : 22/04/2006 01:19

ha, et pour info, j'ai aussi travaillé sur des composants de lecture audio multiplateforme.

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.