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 */ > Спасибо, помогло!
__, _,_ __, _,_ _,
|_) | | | \ | / /_\
| \ | | |_/ |/ | |
~ ~ `~' ~ ~ ~ ~
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.