ysv_
Помогающий
Offline
|
|
« : 01-01-2004 17:40 » |
|
Столкнулся со следующим глюком(?) Винды: под Win9x я могу открыть waveaudio в основной нити, а записывать в другой, созданной специально для записи аудио. А вот в Win2K я получаю ошибку типа: "не возможно выполнить команду для автооткрывающегося устройства. Подождите, пока оно будет закрыто и попытайтесь снова". Перевод приблизительный. Если кто сталктвался с чем нибудь подобным - подскажите можно ли обойти? И если можно, то как? В одной нити все работатет.
Фрагменты из файлов: =============================================== inline void mciSendCommandThrow(MCIDEVICEID IDDevice, UINT uMsg, DWORD fdwCommand, DWORD_PTR dwParam) { MCIERROR err=mciSendCommand(IDDevice, uMsg, fdwCommand, dwParam); if (err!=0) throw RecordDeviceError(err); }
MCI_OPEN_PARMS params={0, 0, "waveaudio", "", 0}; mciSendCommandThrow(0, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_ELEMENT | MCI_WAIT, DWORD(¶ms)); deviceId_=params.wDeviceID;
MCI_RECORD_PARMS params={0, 0, 0}; mciSendCommandThrow(deviceId_, MCI_RECORD, MCI_FROM | MCI_RECORD_OVERWRITE, DWORD(¶ms));
|