|
Hi,
I want to play a wav. file and at the same time stream the samplple values (raw data) in real time into a vector or something in order to do signal processing on the samples.
I guess that the sound file contains some control bits (for instance sample frequency, rate, etc.), but I´m only intested in the actual sound data.
Right now I´m using PlaySound() to play the wav. file, but I cant manage to extract the actual sample values...
Thanks in advance!
|
|
|
|
|
lol, this is very easy!
read the sample rate and the bits per sample out of the wav file, then read a block, perform DSP action on the samples, copy it into a sound buffer, start playing, and continue with the next block!
Don't try it, just do it!
|
|
|
|
|
Thanks for the help, but it doesn´t quite solve my problem.
The thing is that the wav-file really is a simulation of a real time situation of someone who speaks in a microphone. Therefore I dont have access to the whole file, i.e. I´m not suppoed to know what comes next. Therefore, it would be better if the sound (or the sample values), while it is playing, is streamed into a buffer which length increases during the file.
Do you know how to do this?
Thanks a lot!
|
|
|
|
|
capture an incoming packet, perform volume scan on it, and write it to a playing sound buffer!
it's like streaming with a very small buffer!
Don't try it, just do it!
|
|
|
|
|
Hi i was wondering if there was a way like with a list box to add an ItemDataPtr i look at the functions its got and it doesnt have this as a member function is there another way that it can be done? i have a situation where i am using lots of different classes and need to be able to retrieve them through the tree
|
|
|
|
|
You can use SetItemData() . Just cast the pointer to a DWORD and it will work fine, unless you're compiling for 64-bit Windows (which you probably aren't )
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
You can use SetItemData() to setup poiters to the objects,
or indexes in polymorphyc collection that contained these
classes.
Vitali
|
|
|
|
|
I would like my NT service to transparently display dynamic text on the desktop. Preferrably with GDI+, Windows XP. Any cool ideas?
Regards,
BB
|
|
|
|
|
Method 1: Enable Active Desktop and set the Windows background to an HTML file.
Method 2: Write text to a bitmap and set that bitmap to be the desktop background.
HPS HwndSpy - GUI developer's aid to visually
locate and inspect windows. For the month of August
only, use coupon code CP-81239 for 30% off.
|
|
|
|
|
Create a Window and modify it's region with the written text.
Here you can find a great sample of a trasparent application:
http://www.codeproject.com/miscctrl/transclock1.asp
It's the same tecnique that somebody uses to make skin dialog/windows. So you can look at other sample too.
To simulate it on the desktop, you can change the Z-Order with the SetWindowPos , so all the other windows will be above it.
|
|
|
|
|
Sorry, I didn't read that your was an NT service...
In that case, to keep my idea, you need a small "client" app that dialogs with the service...
|
|
|
|
|
This technique seems to suit me! Thank you very much.
Regards,
BB
|
|
|
|
|
SHFILEINFO shInfo;
m_imgList.Detach();
m_imgList.Attach((HIMAGELIST)SHGetFileInfo("C:\\", 0, &shInfo, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON));
m_imgList.SetBkColor(ILD_TRANSPARENT);
SetImageList(&m_imgList, LVSIL_SMALL);
What the hell is wrong with the above code???
It's weird, cuz when I index image 0-5 they appear...but nothing beyond that???
I'm drinking triples, seeing double and acting single
|
|
|
|
|
Hi All!
How can i get the activity on speaker/mic so that i can build the activity meter within my aplication. My application allows voice conversation between two parties. I want to display speaker & mic activity meter on my application. Any sample or piece of code will be highly appreciated.
Thanks a lot
Bilal Anjum
|
|
|
|
|
read a raw sound block coming from the mic(they have to be quite small), then initialize 2 variables called "iMin" and "iMax"(both initialized with the null sample values), setup a loop for every sample, and then check if the sample is bigger then iMax or lower than iMin and correct the variable then.
after the block, you know, that the average volume is!
show a scale from 0 till sizeof(bytespersample) and show ( iMax - iMin ) there.
Don't try it, just do it!
|
|
|
|
|
Hi!
Thnaks for the solution, but i am just a newbie and have no idea where and how to read mic/speaker buffer? If you can tell me some APIs or any example coz i have no idea of sound APIs and data structure, that will be really helpful.
Regards
Bilal Anjum
|
|
|
|
|
Where can I find information about the various sizes of integers among the various compilers and CPUs. By size I mean how many bytes an integer object is.
|
|
|
|
|
Usually compiler manuals will tell you. I would think that most languages integers will be 32 bits.
I'm drinking triples, seeing double and acting single
|
|
|
|
|
use sizeof(int) on every compiler you wan't to know the size of
Don't try it, just do it!
|
|
|
|
|
In an overloaded "<<" routine, I created an array on the heap. Then I used it to do what I needed, and just prior to the "return" statement, I deleted the same array. However, doing so causes the program to crash when I run it.
Interestingly, if I were to remove the "delete[]" statement, the program runs fine; it doesn't crash, but put it back in, and the program crashes.
The whole idea of using the "delete[]" statement on an array created on the heap, is to avoid memory leak. Here, it makes the program crash.
Does anybody have any idea why? Thanks!
William
Fortes in fide et opere!
|
|
|
|
|
I've had this before. Something is going wrong with your allocation. Let me guess, if you remove the [] from the delete statement, it won't crash. This isn't a real solution though, since if you're creating an array you need to delete[] the array.
Make sure that your array allocation is done correctly (it's allocating an array, not a scalar) and that you're not de-allocating the memory elsewhere.
|
|
|
|
|
You also can try to redefine operator delete in your class.
It dificult say more withiout source code.
p.s as you know operator delete described as follow:
void operator delete( void * );
void operator delete( void *, size_t );
Vitali
|
|
|
|
|
Thanks for your reply.
I believe I found the reason for the problem. It has to do with deleting that portion of memory that the "return" statement is outputting, which means if I were to deallocate the memory the array is using, the "return" statement would not work correctly (and is the reason for the crash).
A simpler soultion would be to create an array on the stack and let the routine deletes it when it exits the function.
William
Fortes in fide et opere!
|
|
|
|
|
WREY wrote:
A simpler soultion would be to create an array on the stack and let the routine deletes it when it exits the function.
I don't know your problem context but, if it really needs to be dynamic, how about using an STL vector?
The delete [] can be a bit of a bugger. A few months ago I had to maintain some code that was missing one of these and thus leaking memory. But when I put it in it crashed. However, the code was so complex that I never got to the bottom of it, and it (the memory leak) was low priority compared to everything else I had to do.
Kevin
|
|
|
|
|
This is typically caused by a previous error that went undetected. Possible errors are:
- deleting one memory location twice
- deleting an "invalid" pointer
- writing outside the boundaries of allocated memory
was the memory allocated with new[] or with new ?
"Der Geist des Kriegers ist erwacht / Ich hab die Macht" StS
sighist | Agile Programming | doxygen
|
|
|
|