Здравствуйте, пытаюсь проиграть MIDI ноты в
программе. Ошибок компиляции нет, но и ноты
не звучат. Если кто знает что я делаю неправильно
помогите пожалуйста. Пробовал в разных средах
программирования в Dev_Cpp и в Visual studio,
результат не меняется. В проект обязательно
нужно подключить библиотеку winmm.lib, иначе
будет ошибка при компиляции проекта. Вот ссылка
на информацию по MIDI функциям
https://docs.microsoft.com/ru-ru/window … -functions
Функцию (sleep()) для установки длительности
ноты пока не сделал, это дело будущее, мне сейчас
главное чтобы звучала нота, а потом можно доделать
и остальное. Без звучания ноты сейчас и остальное
не имеет смысла делать.
Вот код
#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;
}