RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > Решил попробовать воспроизвести звук из ресурса, не используя MCI Play Resource. Для начала решил загрузить ресурс, открыть MMIO-хэндл, окрыть MCI-устройство, закрыть MCI-устройство, закрыть MMIO-хэндл, освободить ресурс. Но даже это у меня не получилось. Не удаётся открыть MCI-устройство :-( > > Вот текст: > > А RTFM не пробовал делать? > Там правда пример для воспроизведения MIDI-файла из памяти, но для WAVE не трудно переделать... > > В прочем различия можешь сам найти, вот текст: > > ---------->------------------ > { > /* variable for IOProc */ > PMMIOPROC pIOProc; > HMODULE hModMidiio; > > /* variables for memory file */ > MMIOINFO mmioInfo; > CHAR UserBuffer[SIZE_OF_BUFFER]; > HMMIO hmmio; > > /* variables for MCI commands */ > MCI_OPEN_PARMS mop; > MCI_PLAY_PARMS mpp; > > > /* Open memory file. Provide midi-filled data buffer to MMIO, so > * data buffer becomes file image in memory. Also specify that > * the data will need to be translated. > */ > > mmioInfo.pchBuffer = UserBuffer; /* Filled with untranslated > midi data */ > mmioInfo.cchBuffer = SIZE_OF_BUFFER; /* User-defined */ > mmioInfo.ulTranslate = MMIO_TRANSLATEDATA | MMIO_TRANSLATEHEADER; > /* Need to translate data */ > mmioInfo.fccIOProc = mmioFOURCC( 'M', 'I', 'D', 'I');/* Data > format */ > mmioMemInfo.fccChildIOProc = FOURCC_MEM; /* Storage type */ > hmmio = mmioOpen ( NULL, mmioInfo, MMIO_READWRITE ); > > /* open midi device */ > > mop.pszElementName = (PSZ) hmmiomem; > > mciSendCommand( > 0, /* We don't know the device yet. */ > MCI_OPEN, /* MCI message */ > MCI_WAIT | MCI_OPEN_MMIO | > MCI_OPEN_TYPE_ID | MCI_OPEN_SHAREABLE > (DWORD) mop, /* Parameters for the message */ > 0 ); /* Parameter for notify message */ > > /* play midi memory file for 1 second */ > > mpp.ulFrom=0; > mpp.ulTo=3000; /* default is MMTIME units (1/3000 second) */ > mciSendCommand( > mop.usDeviceID, /* Device to play the data */ > MCI_PLAY, /* MCI message */ > MCI_WAIT | > MCI_FROM | MCI_TO, /* Flags for the MCI message */ > (ULONG) &mpp, /* Parameters for the message */ > 0 ); /* No parm necessary */ > > /* close device */ > > mciSendCommand( > mop.usDeviceID, /* Device to play this */ > MCI_CLOSE, /* MCI message */ > MCI_WAIT, /* Flags for the MCI message */ > (ULONG) NULL, /* Parameters for the message */ > (ULONG) NULL ); /* Parameter for notify message */ > > } > ----------<----------
_, __, _, __,
/_\ |_) /_\ |_)
| | | | | | \
~ ~ ~ ~ ~ ~ ~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.