FillChar(dvDeviceConfig, sizeof(dvSoundDeviceConfig), 0);
dvDeviceConfig.dwSize := sizeof(DVSOUNDDEVICECONFIG);
dvDeviceConfig.dwFlags := DVSOUNDCONFIG_AUTOSELECT;
dvDeviceConfig.guidPlaybackDevice := DSDEVID_DefaultVoicePlayback;
// dvDeviceConfig.lpdsPlaybackDevice := id ;
dvDeviceConfig.guidCaptureDevice := DSDEVID_DefaultVoiceCapture;
// dvDeviceConfig.lpdsCaptureDevice := nil;
dvDeviceConfig.hwndAppWindow := MainForm.Handle;
//dvDeviceConfig.lpdsMainBuffer := buf;
dvDeviceConfig.dwMainBufferFlags := 0;
dvDeviceConfig.dwMainBufferPriority := 0;
Fillchar(ClientConfig, sizeof(DVClientConfig), 0);
ClientConfig.dwFlags := DVCLIENTCONFIG_AUTOVOICEACTIVATED or DVCLIENTCONFIG_AUTORECORDVOLUME;
ClientConfig.lRecordVolume := DVRECORDVOLUME_LAST;
ClientConfig.lPlaybackVolume := DVPLAYBACKVOLUME_DEFAULT;
ClientConfig.dwThreshold := DVTHRESHOLD_UNUSED;
ClientConfig.dwBufferQuality := DVBUFFERQUALITY_DEFAULT;
ClientConfig.dwBufferAggressiveness := DVBUFFERAGGRESSIVENESS_DEFAULT;
ClientConfig.dwNotifyPeriod := 0;
hr := g_pVoiceClient.Connect(dvDeviceConfig, ClientConfig, DVFLAGS_SYNC );
DirectPlay
Код:
При Connect выдает ошибку: передан неправильный параметр. Я думаю, проблема в закоментированных строках. Там нужно передать устройство воспроиз. записи и буфер. В хелпе по директикс для с++ написано, что это опционально. В чем проблема?