[Speex-dev] How to get audio data from microphone on pocketPC ?

patrick andrieux patrick.andrieux at gmail.com
Fri Jun 23 02:54:24 PDT 2006

Hi jere,

thanks for this link, i'll see if i can do something good with that.

speex.dll :
I have a speex.dll which work, and i can encode and decode a wav file.
(i used male.wav on speex.org for my test).
But my dll is specific to my softphone.
In fact i just include speex.h and i call speex functions for [en;de]coding.
My code is based on speex website's sample :

Basically, In my GUI in C#, i import the functions i wrote in my dll
and in my dll, i call the speex's functions.

For creating C++ dll for ppc, you'll maybe need this link :

in your speex.dll properties you have to add :
 - linker/input, add libspeex.lib in "additional dependencies"
 - C/C++/General, add the path to speex source in "additional include

libspeex.lib :
you can download lib for ppc on speex's website (ARMV4 release build (from
1.1.6 source)) :
but it's old version.

or if you download the latest source code of speex here :
you could compile libspeex.lib for ppc.
in directory "win32/libspeex" open the project with visual studio
(i use visual studio 2005)

in VS2005, choose buid/configuration manager
in active solution platform, choose <new..>
then select smartphone (ARMV4)
compile... normally you should have libspeex.lib in the debug directory.

Patrick .

2006/6/23, Jere Malinen <majemi00 at students.oamk.fi>:
> Hi
> You should try using fmod(www.fmod.org) for recording. You need fmodce for
> pocketpc, and there is recording sample included. Also you should download
> fmodex, because there is record to disk sample. I have developed
> application for pocket pc which records sound in a wav file.
> My problem is that I have not been able to encode sound to speex in pocket
> pc. So I have also question for you: do have working speex.dll and
> speex.lib for pocket pc? How did you do that? Could you send those files
> to me?
> -Jere-
> > So i have make an GUI in C# that use the speex functions through dll
> > write in C++.
> > And the encoding and the decoding using speex seems to work not too
> > badly.(i test with a wave file)
> >
> > My problem is that i need to get audio data from the microphone.
> > In order to do that, i use the waveIn*** functions.
> >
> > When i record in a big buffer in *ONE* time, i can play the sound
> > perfectly.
> > (In this case, i only have one buffer and the callback function is not
> > used)
> >
> > But if i record in a small buffer (160 char) several times, and i copy
> > each time this small buffer in a big buffer, it doesn't work !
> > I just can hear some bad sound.
> > (in this case, i have several buffer, and when one of them is full,
> > the callback is used to handle the data, and if i am still recording,
> > i run another time the process using waveInAddBuffer(...) else nothing)
> >
> > I also tried to write these audio data in a file, but it doesn't work.
> >
> > Thanks.
> > Patrick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20060623/5e116af9/attachment.htm

More information about the Speex-dev mailing list