I need to capture the sounds from other applications like Winamp, MediaPlayer.
I found one way – FSOUND_Record_StartSample. Record the output sound and process it through “streamcallback”.
But it inevitablly generate gap when stream is processed in “streamcallback”. Because record should be stopped when the recorded sample is processed.
What can I do for realtime processing of recorded information without any gap?
- kiplring asked 14 years ago
record in loop mode
make a stream with sample
stream = FSOUND_Stream_Create(streamcallback, RECORDLEN, FSOUND_16BITS | FSOUND_STEREO, 44100, samp)
play stream silently. and process data.
Go through step1 to step4 again and again.
Anyway, there is noway to process all the data out from speaker. Because, I should stop the recording to process the sample data made by recording.
So, it generates gap. And I want to delete this gap. Is there anyway?
p.s. What I’m doing is fairly same to Mp3Dancer( http://www.mp3dancer.com).
- kiplring answered 14 years ago
- record in loop mode
Looping is just to prevent overflowing error. Also I don’t want to create the variable “samp” repeatedly.
- play stream silently. and process data.
- play stream silently with attached DSPCallback function. And access each data in DSPCallback function through the variable called “newbuffer”.
[quote]accessable by lock/unlock[/quote]
I did create the stream because it is more familiar.
Currently I’m using lock mechanism.
Sound capturing by “FSOUND_Record_StartSample”. And the beat detection is done based on the FSOUND_SAMPLE* create by recording.
Next problem is about the generacity. Because it is another part I will make another thread.
Thanks brett. And Thanks for your generosity.
Please login first to submit.