Здравствуйте, пытаюсь проиграть MIDI ноты в
программе. Ошибок компиляции нет, но и ноты
не звучат. Если кто знает что я делаю неправильно
помогите пожалуйста. Пробовал в разных средах
программирования в Dev_Cpp и в Visual studio,
результат не меняется. В проект обязательно
нужно подключить библиотеку winmm.lib, иначе
будет ошибка при компиляции проекта. Вот ссылка
на информацию по MIDI функциям
https://docs.microsoft.com/ru-ru/window … -functions
В конце кода вызов трех функций (Sleep(),
midiOutShortMsg(), midiOutClose()) я сделал
комментариями, это потому что нота должна звучать,
а три последние функции нужны будут потом. Когда
нота зазвучит тогда и эти функции можно будет
разкомментировать.
Вот код
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <mmsystem.h>
int main(int argc, char *argv[])
{
MMRESULT res;
LPHMIDIOUT hnd = 0;
HMIDIOUT out = 0;
// Открыть MIDI устройство
res = midiOutOpen(hnd, 0, 0, 0, 0);
// Выбрать инструмент и канал
res = midiOutShortMsg(out, 0x000001C0);
// Проиграть ноту (нажать)
res = midiOutShortMsg(out, 0x007F3C90);
// Длительность ноты
// Sleep(1000);
// прервать проигрывание ноты (отпустить)
//res = midiOutShortMsg(out, 0x007F3C80);
// Закрыть MIDI устройство
//res = midiOutClose(out);
getch();
return 0;
}