Groupe: fr.sci.electronique

Conception, réalisation ou réparation de circuits.

Ajouter au favoris Ajouter au favoris
   indietro Retour à la page précédente     indietro Poster un nouveau sujet
Rechercher :

Sujet:

Comment ca, «hors sujet» ?

Auteur: Jean-Christophe
Posté le: 01 Mar 2010, 23:59
Comment ca, «hors sujet» ?

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

<fr,com p.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
---------------------------------------

Auteur: GRENON Loïc
Posté le: 02 Mar 2010, 00:02
Re: Comment ca, «hors sujet» ?

Le 01/03/2010 23:59, Jean-Christophe a écrit :
> [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 ?

Auteur: Jean-Christophe
Posté le: 02 Mar 2010, 00:05
Re: Comment ca, «hors sujet» ?

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 ... :-)
Non, j'ai essayé avec des samples de code MSDN
mais ca le fait pas, il me faudrait un truc basique qui tourne.

Auteur: GRENON Loïc
Posté le: 02 Mar 2010, 01:39
Re: Comment ca, «hors sujet» ?

Le 02/03/2010 00:05, Jean-Christophe a écrit :
> 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 ... :-)
> 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.

Auteur: Jean-Christophe
Posté le: 02 Mar 2010, 10:21
Re: Comment ca, «hors sujet» ?

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

> Le code source est ici :
> http :// audacity.sourceforge,net /download/source

Ok je vais regarder ca - merci !

Auteur: jlp
Posté le: 02 Mar 2010, 19:13
Re: Comment ca, hors sujet ?


"Jean-Christophe" <5.d@free,fr > a écrit dans le message de news:
5c25f130-ed36-4cce-b20c-efa6dcb5325d@g26g2000yqn.googlegroups,com ...
>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++



Auteur: Jean-Christophe
Posté le: 02 Mar 2010, 19:55
Re: Comment ca, «hors sujet» ?

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.

> sous quel environnement de d veloppement ?

Compilateur Visual C++

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

Quel composant ?

Auteur: jlp
Posté le: 02 Mar 2010, 22:49
Re: Comment ca, hors sujet ?


"Jean-Christophe" <5.d@free,fr > a écrit dans le message de news:
adf312d5-7e8c-4c21-b5af-b8239589ae01@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.

>> 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)



Auteur: Jean-Christophe
Posté le: 02 Mar 2010, 23:19
Re: Comment ca, «hors sujet» ?

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

> 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 !

> 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>.

> 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)

> 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 :-)

Auteur: Jean-Christophe
Posté le: 02 Mar 2010, 23:25
Re: Comment ca, «hors sujet» ?

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

> 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 !

> 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>.

> 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)

> 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
----------------------------------------------

Auteur: jlp
Posté le: 03 Mar 2010, 19:01
Re: Comment ca, hors sujet ?


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

> 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



Auteur: Jean-Christophe
Posté le: 03 Mar 2010, 21:22
Re: Comment ca, «hors sujet» ?

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

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

Ok merci.

Auteur: free,fr
Posté le: 03 Mar 2010, 20:33
au prix d'un portage ...

il y a ca

http :// www .vbfrance,com /code.aspx?ID 882

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

ou au moins ca guide.





Message suivant: [Charte] fr.sci.electronique

Message précédent:  Petite question bete



Identification:
  Pseudo :    Mot de passe: 
 
   Vous avez perdu votre mot de passe ? Cliquez ici
discussion:
    GRENON Loïc
     Jean-Christophe
  jlp
    jlp
     Jean-Christophe
     Jean-Christophe
    jlp
     Jean-Christophe