Pages : 1
#1 Le 13/10/2008, à 18:01
- Ziginux
[Résolu] Capture audio en java
Bonjour je cherche une lib assez simple à utiliser pour de la capture audio.
Est ce que gstreamer permet de faire ca ?
Merci
Dernière modification par Ziginux (Le 20/10/2008, à 10:52)
Agissez pour la nature avec la plateforme de l'écovolontariat
http://www.jagispourlanature.org
Hors ligne
#2 Le 14/10/2008, à 10:59
- alexduf
Re : [Résolu] Capture audio en java
bonjour,
gstreamer permet de faire ça.
Même si je n'ai jamais réalisé d'enregistrement, gstreamer s'utilise plutôt bien avec ce binding : http://code.google.com/p/gstreamer-java/
mais on perd rapidement la portabilité du code avec ce genre de librairies.
Je me demande si JMF ne ferait pas ça. Seulement j'ai jamais rien compris à JMF...
Hors ligne
#3 Le 14/10/2008, à 12:47
- Ziginux
Re : [Résolu] Capture audio en java
Oui je n'ai rien compris non plus à JMF. Pour la portabilité je m'en fou. J'utilise d'ailleurs la librarie java gnome.
J'ai posté sur le group de discussion de gstreamer, on m'a repondu ceci :
use the "alsasrc" or "pulsesrc" (if you use pulseaudio.
Then, use the alsa volume control (gnome applet or alsamixer) to set the
recording source to microphone ...
Je suis un peu perdu avec tout ca. Existe t il une lib pulseaudio pour java ?
Bon je vais continuer mes recherches.
Merci encore
Agissez pour la nature avec la plateforme de l'écovolontariat
http://www.jagispourlanature.org
Hors ligne
#4 Le 14/10/2008, à 16:33
- alexduf
Re : [Résolu] Capture audio en java
oui c'est vrai que gstreamer n'est pas évident à appréhender au début.
En fait avec gstreamer tu joue au légo pour construire un "pipe".
L'idée c'est d'avoir un bloc source, un ou plusieurs bloc de traitement, et un bloc de destination.
Là ton bloc source sera alsasrc, auquel tu brancheras par exemple un bloc lame pour encoder en mp3, puis un bloc fichier qui ira ecrire sur ton disque dur.
Après il existe certainement plus simple si le besoin est de simplement enregistrer du son.
Hors ligne
#5 Le 15/10/2008, à 13:43
- Ziginux
Re : [Résolu] Capture audio en java
Je me suis mi sà comprendre d'abord comment marche gstreamer, c'est pas evident à comprendre au debut.
Avant j'ai voulu au moins commencer à comprendre avec gst-launch et deja là j'ai des erreurs :
Pour enregistrer :
gst-launch alsasrc ! audioconvert ! vorbisenc ! oggmux ! filesink location=input.ogg
J'obtiens l'erreur :
AVERTISSEMENT : de l'élément /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0 : Impossible d'enregistrer assez rapidement les données audio
Information de débogage supplémentaire :
gstbaseaudiosrc.c(807): gst_base_audio_src_create (): /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0:
dropped 3617082 samples
Et avec pulsesrc j'obtiens :
Définition du pipeline à PAUSED...
Le pipeline est actif et n'a pas besoin de phase PREROLL...
Passage du pipeline à la phase PLAYING...
New clock: GstAudioSrcClock
Voilà si vous avez une petite idée des erreurs parce que moi c'est le flou.
Merci
Agissez pour la nature avec la plateforme de l'écovolontariat
http://www.jagispourlanature.org
Hors ligne
#6 Le 15/10/2008, à 15:24
- alexduf
Re : [Résolu] Capture audio en java
Définition du pipeline à PAUSED... Le pipeline est actif et n'a pas besoin de phase PREROLL... Passage du pipeline à la phase PLAYING... New clock: GstAudioSrcClock
Voilà si vous avez une petite idée des erreurs parce que moi c'est le flou.
Merci
Félicitation, ça marche ;-)
Hors ligne
#7 Le 15/10/2008, à 15:40
- Ziginux
Re : [Résolu] Capture audio en java
Ah ?? Bah je ne comprends pas parce que mon fichier fais 0Ko.
Et pour arreter je dosi juste fermer le terminal ?
Edit : j'ai résolu mon problème
Dernière modification par Ziginux (Le 20/10/2008, à 10:54)
Agissez pour la nature avec la plateforme de l'écovolontariat
http://www.jagispourlanature.org
Hors ligne