I work in Visual C++ ,Win32 aplication and I want to play more sounds together and I don't know how. I used PlaySound() but this function play only one sound at a time.
If you have some solutions post them here please.
Thank you!!
athlon32 56 Junior Poster in Training
The wavemix DLL is a utility that allows multiple wav files to be played simultaneously. It is designed to be as simple to use as possilbe but still have the power to do what is required by games. The DLL supports 8 channels of simultaneous wave play, the ability to queue up waves along the same channel and wave completion notification.
http://www.programmersheaven.com/download/6794/download.aspx
Hope I Helped :)
~ mike
wacky 0 Newbie Poster
Thank for this application,but I don't understand what is writen in WAVEMIX.h. I tryed to make a project with this files. When I compiled it, I met problems with some functions from WAVEMIX.h, especialy WaveMixOpenWave. I don't understand what does this function.
If you can make a Win32 project whit this aplication,or to explain them will be great. (I need this aplication for a game to combine background, movement, actions sounds)
Thank again.
athlon32 56 Junior Poster in Training
http://www.compuphase.com/wavemix.htm
^^^look at that page, scroll down to the section "Using WaveMix", they have information on setting it up and a little API reference
Hope i helped :)
wacky 0 Newbie Poster
I don't know why when I use this functions from WAVEMIX.h,in my program I meet some errors:
error LNK2019: unresolved external symbol "unsigned short __stdcall WaveMixGetInfo(struct WAVEMIXINFO *)" (?WaveMixGetInfo@@YGGPAUWAVEMIXINFO@@@Z) referenced in function "int __cdecl MixTest_OnCreate(struct HWND__ *,struct tagCREATESTRUCTA *)" (?MixTest_OnCreate@@YAHPAUHWND__@@PAUtagCREATESTRUCTA@@@Z)
main.obj : error LNK2019: unresolved external symbol "void * __stdcall WaveMixConfigureInit(struct MIXCONFIG *)" (?WaveMixConfigureInit@@YGPAXPAUMIXCONFIG@@@Z) referenced in function "int __cdecl MixTest_OnCreate(struct HWND__ *,struct tagCREATESTRUCTA *)" (?MixTest_OnCreate@@YAHPAUHWND__@@PAUtagCREATESTRUCTA@@@Z)
All I did,was to copy
#include "WAVEMIX.h"
HANDLE ghMixSession;
LPMIXWAVE glpMix1;
BOOL gfDebug=FALSE;
.........
BOOL MixTest_OnCreate(HWND hWnd, CREATESTRUCT FAR* lpCreateStruct)
{
BOOL fErr=FALSE;
WAVEMIXINFO Info;
MIXCONFIG config;
srand(gfDebug ? 1 : LOWORD(GetTickCount())); // 1 reintializes, Any other number sets random
Info.wSize=sizeof(WAVEMIXINFO);
if (WaveMixGetInfo(&Info))
return FALSE;
config.wSize = sizeof(MIXCONFIG);
config.dwFlags = WMIX_CONFIG_CHANNELS;
config.wChannels = 2; // give us stereo!
if (!(ghMixSession = WaveMixConfigureInit(&config)))
return FALSE;
glpMix1=WaveMixOpenWave(ghMixSession,"1.wav",NULL,0);
fErr=WaveMixOpenChannel(ghMixSession,8,WMIX_OPENCOUNT);
if (fErr || !(glpMix1))
{
//CloseWaveStuff();
return FALSE;
}
return TRUE;
}
in my program. Why I have those erors???
Edited by mike_2000_17 because: Fixed formatting
JasonHippy 739 Practically a Master Poster
I don't know why when I use this functions from WAVEMIX.h,in my program I meet some errors:
error LNK2019: unresolved external symbol "unsigned short __stdcall WaveMixGetInfo(struct WAVEMIXINFO *)" (?WaveMixGetInfo@@YGGPAUWAVEMIXINFO@@@Z) referenced in function "int __cdecl MixTest_OnCreate(struct HWND__ *,struct tagCREATESTRUCTA *)" (?MixTest_OnCreate@@YAHPAUHWND__@@PAUtagCREATESTRUCTA@@@Z)
main.obj : error LNK2019: unresolved external symbol "void * __stdcall WaveMixConfigureInit(struct MIXCONFIG *)" (?WaveMixConfigureInit@@YGPAXPAUMIXCONFIG@@@Z) referenced in function "int __cdecl MixTest_OnCreate(struct HWND__ *,struct tagCREATESTRUCTA *)" (?MixTest_OnCreate@@YAHPAUHWND__@@PAUtagCREATESTRUCTA@@@Z)
I've never used this library, so I don't know anything about it. But the error messages you're getting are saying that the linker is unable to find the wavemix library...You most likely just need to update your project settings/compiler options to include paths to the wavemix libraries and headers.
From the looks of your error message it looks like one of the MS VC++ compilers, so the way to register the wavemix libraries and headers with the compiler will depend on the version of Visual Studio that you are using.
For VC++6 (and earlier), you'd need select 'tools->options' in the top menu. Then in the popup dialog, select the 'Directories' tab.
Select 'Include files' in the 'Show directories for' dropdown and add the path to wavemix.h to the list of paths.
Then select 'Library files' in the 'Show directories for' dropdown and add the path to wavemix.lib to the list of paths. Then hit OK to accept the changes.
For VC++2003 (and later) the best bet would probably be to right click on your project (in the solution explorer in the IDE) and select properties. In the popup dialog open up 'C/C++' in the treeview and select the 'general' sub-item.
In the "Additional Include Directories" box you need to add the path to wavemix.h
Then back in the tree-view, select 'Linker' and the 'general' sub-item and add the path to wavemix.lib to the 'Additional Library Directories' box. Finally hit OK in the dialog to accept the changes.
Once you've registered the relevant headers and libraries with the compiler, your project should compile and link properly (as long as you're using the library correctly in your code!!)
Cheers for now,
Jas.
P.S. The instructions posted for VC2003 onwards may differ slightly for newer versions of VC (i.e. 2005 & 2008)...But the steps should be more or less the same!
athlon32 56 Junior Poster in Training
Jason is right, I just wanted to state that this "is" a DLL, and you might need to work with it differently...i wouldn't know to much there, just beginning windows programming
These Links might be helpful:
http://www.codeproject.com/KB/DLL/XDllPt1.aspx
http://www.codeproject.com/KB/DLL/XDllPt4.aspx
Hope I could Help :)
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.