Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Музыка

550
16 января 2003 года
matwey
82 / / 03.12.2002
Как приограть в программе MIDI или на худой конец :) WAV
380
17 января 2003 года
Arestov
285 / / 20.09.2000
Цитата:
Originally posted by matwey
Как приограть в программе MIDI или на худой конец :) WAV



самый простой способ для WAV sndPlaySound();, более сложные но более гибкие это waveOut и DirectSound

для миди есть mci

в общем решить задачу мона с DirectXMedia (правда Microsoft новые версии не делает), но то что есть хватает для воспроизведение любых типов файлов (для которых установлены кодеки), от видео до аудио

550
18 января 2003 года
matwey
82 / / 03.12.2002
Цитата:
Originally posted by Arestov


самый простой способ для WAV sndPlaySound();, более сложные но более гибкие это waveOut и DirectSound

для миди есть mci

в общем решить задачу мона с DirectXMedia (правда Microsoft новые версии не делает), но то что есть хватает для воспроизведение любых типов файлов (для которых установлены кодеки), от видео до аудио



Спаибо.

550
18 января 2003 года
matwey
82 / / 03.12.2002
Цитата:
Originally posted by Arestov


самый простой способ для WAV sndPlaySound();, более сложные но более гибкие это waveOut и DirectSound

для миди есть mci

в общем решить задачу мона с DirectXMedia (правда Microsoft новые версии не делает), но то что есть хватает для воспроизведение любых типов файлов (для которых установлены кодеки), от видео до аудио



А кто такой mci и как с ним че-нибюудь бы сделать, хоть-бы в двух словах услышать.
(Как всегда нужен пример)

380
20 января 2003 года
Arestov
285 / / 20.09.2000
Цитата:
Originally posted by matwey


А кто такой mci и как с ним че-нибюудь бы сделать, хоть-бы в двух словах услышать.
(Как всегда нужен пример)



смотрим MSDN, пишем в Index: "MCI", находим, выбираем Using MCI/Playing MIDI File, и копируем в форум:

// Plays a specified MIDI file by using MCI_OPEN and MCI_PLAY. Returns
// as soon as playback begins. The window procedure function for the
// specified window will be notified when playback is complete.
// Returns 0L on success; otherwise, it returns an MCI error code.

DWORD playMIDIFile(HWND hWndNotify, LPSTR lpszMIDIFileName)
{
UINT wDeviceID;
DWORD dwReturn;
MCI_OPEN_PARMS mciOpenParms;
MCI_PLAY_PARMS mciPlayParms;
MCI_STATUS_PARMS mciStatusParms;
MCI_SEQ_SET_PARMS mciSeqSetParms;

// Open the device by specifying the device and filename.
// MCI will attempt to choose the MIDI mapper as the output port.
mciOpenParms.lpstrDeviceType = "sequencer";
mciOpenParms.lpstrElementName = lpszMIDIFileName;
if (dwReturn = mciSendCommand(NULL, MCI_OPEN,
MCI_OPEN_TYPE | MCI_OPEN_ELEMENT,
(DWORD)(LPVOID) &mciOpenParms))
{
// Failed to open device. Don't close it; just return error.
return (dwReturn);
}

// The device opened successfully; get the device ID.
wDeviceID = mciOpenParms.wDeviceID;

// Check if the output port is the MIDI mapper.
mciStatusParms.dwItem = MCI_SEQ_STATUS_PORT;
if (dwReturn = mciSendCommand(wDeviceID, MCI_STATUS,
MCI_STATUS_ITEM, (DWORD)(LPVOID) &mciStatusParms))
{
mciSendCommand(wDeviceID, MCI_CLOSE, 0, NULL);
return (dwReturn);
}

// The output port is not the MIDI mapper.
// Ask if the user wants to continue.
if (LOWORD(mciStatusParms.dwReturn) != MIDI_MAPPER)
{
if (MessageBox(hMainWnd,
"The MIDI mapper is not available. Continue?",
"", MB_YESNO) == IDNO)
{
// User does not want to continue. Not an error;
// just close the device and return.
mciSendCommand(wDeviceID, MCI_CLOSE, 0, NULL);
return (0L);
}
}

// Begin playback. The window procedure function for the parent
// window will be notified with an MM_MCINOTIFY message when
// playback is complete. At this time, the window procedure closes
// the device.
mciPlayParms.dwCallback = (DWORD) hWndNotify;
if (dwReturn = mciSendCommand(wDeviceID, MCI_PLAY, MCI_NOTIFY,
(DWORD)(LPVOID) &mciPlayParms))
{
mciSendCommand(wDeviceID, MCI_CLOSE, 0, NULL);
return (dwReturn);
}

return (0L);
}


при помощи MCI можно играть и другие типы файлов, управлять CD-ROM'ом, показывать видео и пр. Этот интерфейс довольно старый, он был до DirectX, даже в Windows младше Windows 95.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог