13/12/02 15:46, leo zhu wrote: > Hi, guys, > > I am working on a project in which I need to implement > palyback and recording on the same sound card and in > the same time. > > I open the soundcard with RDWR mode and used 'select' > to wait for sound data on card and read it. After > that, I receive audio data from socket and write this > data into buffer on card. for now. I tested it and i > found if just one way, ie. just read or write, it > works fine, the quality of sound is fine. but if two > way, ie. play&record, the sound is horrible and the > weird is that I always get better sound quality from > playback that what i got from recording. (I heard the > audio from two ends). by the way, I used > SNDCTL_DSP_TRIGGER to syncronyse them. > > can this method implement full-duplex functions ? if > not, what should I do? thanks in advance
Yes, it's possible in principle, and it can work. Although some cards/drivers do it better than others... On Linux I believe the easiest way is to open the audio device twice: once for reading and once for writing. There might be other portability problems with that method as well. I've never gotten SNDCTL_DSP_TRIGGER to work as expected, but that may just have been impatience.
