winapi — C ++ / Win32 — Что в моем использовании MCI вызывает задержку?

Я играю MIDI-файл, и у меня есть таймер, который периодически проверяет состояние псевдонима. Когда он остановлен, он выполняет:

mciSendString(L"seek Music to start", NULL, 0, NULL);
mciSendString(L"play Music", NULL, 0, NULL);

Я использую это как часть основной игры, которую я создаю. Я заметил, что всякий раз, когда песня повторяется, есть доля секунды, когда приложение зависает. Я думал, что это было вызвано тем, что я загружал файл каждый раз, но если я уже загрузил его и просто ищу в нем, он не должен замедляться, не так ли? Как я могу предотвратить задержку?

Я знаю, что MCI, вероятно, не лучший вариант для воспроизведения миди-файлов. Однако все, что нужно моей программе — это загрузить два миди-файла в память и воспроизвести их в цикле. Первоначально я изучал сторонние библиотеки, но большинство из них, похоже, ПУТЬ больше, чем мне нужно, и многие из них слишком запредельно сложны. Однако, если бы существовал действительно простой, простой способ выполнить то, что мне нужно, я хотел бы услышать об этом. Я не ищу многослойный трехмерный звук или что-то еще — просто возможность загружать в память, играть и повторять.

0

Решение

Я разговаривал с другом, и он рекомендовал мне использовать тему. «Ну, да», подумал я. «Как я мог не подумать об этом?»

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]