public static boolean mixerOpen(int hWnd, int deviceId)
{
int dwFlags = MIXER_OBJECTF_MIXER;
if (hWnd != 0) dwFlags |= CALLBACK_WINDOW;
MIXERHANDLE mixer = new MIXERHANDLE();
boolean result = Extension.MixerOpen(mixer, deviceId, hWnd, 0, dwFlags) == MMSYSERR_NOERROR;
if (result) mixerMap.put(new Integer(deviceId), new Integer(mixer.hMixer));
return result;
}