EDAboard.com | EDAboard.eu | EDAboard.de | EDAboard.co.uk | RTV forum PL | NewsGroups PL

Comment ca, «hors sujet» ?

elektroda.net NewsGroups Forum Index - Electronique FR - Comment ca, «hors sujet» ?

Jean-Christophe
Guest

Tue Mar 02, 2010 1:59 am   



Euuhhhhh ... hors-sujet, mais bon, j'ai posté ma
question sur ces groupes mais ils semblent morts :

<fr.comp.musique>
<comp.os.ms-windows.programmer.misc>
<comp.os.ms-windows.programmer.multimedia>
<microsoft.public.win32.programmer.mmedia>

Je connais les enragés qui trainent sur ce NG,
alors si quelqu'un a des billes,
ou peut me donner un NG adéquat et vivant,
ou un lien ... moult mercis d'avance !


---------------------------------------
[Capture audio sous Windows]

Je recherche du code C/C++ permettant de capturer
le flux audio d'une carte son sur un PC sous Windows.
Le but est de capturer en mémoire le signal arrivant
en entrée sur les prises 'line in' (ou depuis une source
interne telle qu'un lecteur) et/ou de renvoyer le signal
aprés traitement depuis la mémoire vers la carte son.

J'avais commencé avec 'winmm.lib' et 'mmsystem.h'
avec les fonctions de la famille 'waveIn' et 'waveOut'
genre 'waveInAddBuffer' dans une fonction callback,
mais n'ai rien obtenu de probant, l'idéal serait un bout
de code qui montre comment implémenter une telle capture.

Merci !

---------------------------------------
[Audio capture using winmm.lib]

Hi all,

Under Windows XP with Visual C++ :
I need to capture on-the-fly audio data from the sound
card and/or analogic line-input into a memory buffer.
I tried to use 'winmm.lib' and 'mmsystem.h' and
some functions of the 'waveIn' and 'waveOut' family,
with no efficient result so far.

I need badly a piece of code showing
how to implement such a capture.

TIA
---------------------------------------

GRENON Loïc
Guest

Tue Mar 02, 2010 1:59 am   



Le 01/03/2010 23:59, Jean-Christophe a écrit :
Quote:
[Capture audio sous Windows]

Je recherche du code C/C++ permettant de capturer
le flux audio d'une carte son sur un PC sous Windows.
Le but est de capturer en mémoire le signal arrivant
en entrée sur les prises 'line in' (ou depuis une source
interne telle qu'un lecteur) et/ou de renvoyer le signal
aprés traitement depuis la mémoire vers la carte son.


Peut-être en regardant le code source d'Audacity ou logiciel du genre ?

Jean-Christophe
Guest

Tue Mar 02, 2010 2:05 am   



On Mar 2, 12:02 am, GRENON Loïc

Quote:
Peut-être en regardant le code source d'Audacity ou logiciel du genre ?

Ou ca, tu as des liens ?
Ce m'embéterait de désassembler l'exécutable ( quoique ... Smile
Non, j'ai essayé avec des samples de code MSDN
mais ca le fait pas, il me faudrait un truc basique qui tourne.

GRENON Loïc
Guest

Tue Mar 02, 2010 2:39 am   



Le 02/03/2010 00:05, Jean-Christophe a écrit :
Quote:
On Mar 2, 12:02 am, GRENON Loïc

Peut-être en regardant le code source d'Audacity ou logiciel du genre ?

Ou ca, tu as des liens ?
Ce m'embéterait de désassembler l'exécutable ( quoique ... Smile
Non, j'ai essayé avec des samples de code MSDN
mais ca le fait pas, il me faudrait un truc basique qui tourne.

Le code source est ici : http://audacity.sourceforge.net/download/source
Il en a surement d'autres plus « simple » ...
Regarde du coté des enregistreurs distribués sous licence libre.
Tu dois avoir accès aux sources et donc trouver ton bonheur.

Jean-Christophe
Guest

Tue Mar 02, 2010 12:21 pm   



On Mar 2, 1:39 am, GRENON Loïc

Quote:

Ok je vais regarder ca - merci !

jlp
Guest

Tue Mar 02, 2010 8:13 pm   



"Jean-Christophe" <5.d_at_free.fr> a écrit dans le message de news:
5c25f130-ed36-4cce-b20c-efa6dcb5325d_at_g26g2000yqn.googlegroups.com...
Quote:
Je recherche du code C/C++ permettant de capturer
le flux audio d'une carte son sur un PC sous Windows.

sous quel environnement de développement ?
sous c++ builder il y a un composant qui le fait (donc sous delphi aussi),
et je suppose qu'il en est de meme avec visual c++

Jean-Christophe
Guest

Tue Mar 02, 2010 9:55 pm   



On Mar 2, 7:13 pm, "jlp"

|> Je recherche du code C/C++ permettant de capturer
|> le flux audio d'une carte son sur un PC sous Windows.

Quote:
sous quel environnement de d veloppement ?

Compilateur Visual C++

Quote:
sous c++ builder il y a un composant qui le fait

Quel composant ?

jlp
Guest

Tue Mar 02, 2010 11:49 pm   



"Jean-Christophe" <5.d_at_free.fr> a écrit dans le message de news:
adf312d5-7e8c-4c21-b5af-b8239589ae01_at_g28g2000yqh.googlegroups.com...
On Mar 2, 7:13 pm, "jlp"

|> Je recherche du code C/C++ permettant de capturer
|> le flux audio d'une carte son sur un PC sous Windows.

Quote:
sous quel environnement de d veloppement ?

Compilateur Visual C++

sous c++ builder il y a un composant qui le fait

Quel composant ?
j'essaie de te retrouver cela demain, si j'ai le temps (pas facile en ce

moment), autrement ce cera ce week end.
la base , de memoire, fait partie de l'api de windows, donc oblitaroirement
dispo dans VC++.
WaveInStart, WaveInStop. je viens de ragarder sur msdn, en meme temps que
j'ecris ces lignes, et on retrouve la base (donc pour VC++) ici
http://msdn.microsoft.com/en-us/library/ms925318.aspx .sous builder il y a
(avait) un exemple de magnetophone.

mais le plus facile a trouver, du moins sue le net, c'est du delphi, et l'on
retrouve tres vite du builder (et pour cause c'est borland)

Jean-Christophe
Guest

Wed Mar 03, 2010 1:19 am   



On Mar 2, 10:49 pm, "jlp"

Quote:
j'essaie de te retrouver cela demain, si j'ai le temps
(pas facile en ce moment), autrement ce cera ce week end.

Super, pour ce week-end c'est tout bon si tu trouves.
Merci déja pour l'intention !

Quote:
la base , de memoire, fait partie de l'api de windows,
donc oblitaroirement dispo dans VC++.
WaveInStart, WaveInStop.

Oui oui, ca se réchauffe, c'est bien par là :
ce sont des fonctions déclarées dans <mmsystem.h>
et dont le code est linké depuis <WINMM.LIB>.

Quote:
on retrouve la base (donc pour VC++) ici
http://msdn.microsoft.com/en-us/library/ms925318.aspx
sous builder il y a (avait) un exemple de magnetophone.

J'avais aussi regardé MSDN mais impossible de faire tourner un
truc correct avec les buffers I/O depuis une fonction de callback.
Bon en fait j'ai un truc qui tourne presque, mais pas en continu :
environ 2 secondes de signal audio puis ca merde (mais sans planter)

Quote:
mais le plus facile a trouver, du moins sue le net, c'est du delphi,
et l'on retrouve tres vite du builder (et pour cause c'est borland)

Désolé je n'ai pas Builder, cela doit tourner
sous VC++ uniquement avec la lib WINMM.LIB ...
(ben oui je sais mais c'est comme ca)
Les fonctions sont du genre waveIn* et waveOut*
un peu galère à utiliser avec leurs buffers ...

Si tu as quelque chose pour moi basé sur des appels
de ces fonctions de WINMM.LIB ce serait le pied Smile

Jean-Christophe
Guest

Wed Mar 03, 2010 1:25 am   



On Mar 2, 10:49 pm, "jlp"

Quote:
j'essaie de te retrouver cela demain, si j'ai le temps
(pas facile en ce moment), autrement ce cera ce week end.

Super, pour ce week-end c'est tout bon si tu trouves.
Merci déja pour l'intention !

Quote:
la base , de memoire, fait partie de l'api de windows,
donc oblitaroirement dispo dans VC++.
WaveInStart, WaveInStop.

Oui oui, ca se réchauffe, c'est bien par là :
ce sont des fonctions déclarées dans <mmsystem.h>
et dont le code est linké depuis <WINMM.LIB>.

Quote:
on retrouve la base (donc pour VC++) ici
http://msdn.microsoft.com/en-us/library/ms925318.aspx
sous builder il y a (avait) un exemple de magnetophone.

J'avais aussi regardé MSDN mais impossible de faire tourner un
truc correct avec les buffers I/O depuis une fonction de callback.
Bon en fait j'ai un truc qui tourne presque, mais pas en continu :
environ 2 secondes de signal audio puis ca merde (mais sans planter)

Quote:
mais le plus facile a trouver, du moins sue le net, c'est du delphi,
et l'on retrouve tres vite du builder (et pour cause c'est borland)

Désolé je n'ai pas Builder, cela doit tourner
sous VC++ uniquement avec la lib WINMM.LIB ...
(ben oui je sais mais c'est comme ca)
Les fonctions sont du genre waveIn* et waveOut*
un peu galère à utiliser avec leurs buffers ...

Si tu as quelque chose pour moi basé sur des appels
de ces fonctions de WINMM.LIB ce serait le pied :-)





----------------------------------------------
Waveform Header
----------------------------------------------
#include <mmsystem.h> // multi media support

LINK : import library [ winmm.lib ]
for multimedia functions interface

----------------------------------------------
Waveform Functions
----------------------------------------------

waveInAddBuffer
waveInClose
waveInGetDevCaps
waveInGetErrorText
waveInGetID
waveInGetNumDevs
waveInGetPosition
waveInMessage
waveInOpen
waveInPrepareHeader
waveInProc
waveInReset
waveInStart
waveInStop
waveInUnprepareHeader

waveOutBreakLoop
waveOutClose
waveOutGetDevCaps
waveOutGetErrorText
waveOutGetID
waveOutGetNumDevs
waveOutGetPitch
waveOutGetPlaybackRate
waveOutGetPosition
waveOutGetVolume
waveOutMessage
waveOutOpen
waveOutPause
waveOutPrepareHeader
waveOutProc
waveOutReset
waveOutRestart
waveOutSetPitch
waveOutSetPlaybackRate
waveOutSetVolume
waveOutUnprepareHeader
waveOutWrite

----------------------------------------------
Waveform Structures
----------------------------------------------
PCMWAVEFORMAT
WAVEFILTER
WAVEFORMAT
WAVEFORMATEX
WAVEHDR
WAVEINCAPS
WAVEOUTCAPS

----------------------------------------------
Waveform Messages
----------------------------------------------
MM_WIM_CLOSE
MM_WIM_DATA
MM_WIM_OPEN
MM_WOM_CLOSE
MM_WOM_DONE
MM_WOM_OPEN
WIM_CLOSE
WIM_DATA
WIM_OPEN
WOM_CLOSE
WOM_DONE
WOM_OPEN
----------------------------------------------

jlp
Guest

Wed Mar 03, 2010 8:01 pm   



"Jean-Christophe" <5.d_at_free.fr> a écrit dans le message de news:
adf312d5-7e8c-4c21-b5af-b8239589ae01_at_g28g2000yqh.googlegroups.com...
On Mar 2, 7:13 pm, "jlp"

Quote:
sous c++ builder il y a un composant qui le fait

Quel composant ?

tiens, tout y est expliqué
http://edn.embarcadero.com/article/28332

ca doit marcher pareil sous vc++, faut trouver l'equivalent de TMediaPlayer

free.fr
Guest

Wed Mar 03, 2010 9:33 pm   



il y a ca

http://www.vbfrance.com/code.aspx?ID=20882

c'est du VB mais ca doit etre portable en C++

ou au moins ca guide.

Jean-Christophe
Guest

Wed Mar 03, 2010 11:22 pm   



On Mar 3, 7:01 pm, "jlp"

Quote:
tiens, tout y est expliquhttp://edn.embarcadero.com/article/28332
ca doit marcher pareil sous vc++, faut trouver l'equivalent de TMediaPlayer

Ok merci.

elektroda.net NewsGroups Forum Index - Electronique FR - Comment ca, «hors sujet» ?

Arabic versionBulgarian versionCatalan versionCzech versionDanish versionGerman versionGreek versionEnglish versionSpanish versionFinnish versionFrench versionHindi versionCroatian versionIndonesian versionItalian versionHebrew versionJapanese versionKorean versionLithuanian versionLatvian versionDutch versionNorwegian versionPolish versionPortuguese versionRomanian versionRussian versionSlovak versionSlovenian versionSerbian versionSwedish versionTagalog versionUkrainian versionVietnamese versionChinese version
RTV map EDAboard.com map News map EDAboard.eu map EDAboard.de map EDAboard.co.uk map Opony