MCI API midi проблема
Я Использую Wpf.
Я разбора файла MIDI и использовать midioutshortmsg, чтобы отправить сообщение в цикле for,
и сон для задержки Дельта времени;
Мое воспроизведение отстает ,но, когда я одновременно открываю другое midi-программное обеспечение
(включите WindowMediaPlayer) ,вся проблема в sloved,моя программа работает нормально.
Когда я закрываю другое открытое программное обеспечение.Проблема в том, чтобы вернуться.
Моя программа застряла здесь.
Я уже пробовал отправить в midistreamout,MidiOutProc или midioutlongmsg и т. д.,Но моя проблема все еще не может решить.
Что я уже пробовал:
Какой-То Код Здесь:
[DllImport("winmm.dll")]
частная внешний статический тип int midiOutOpen(из lphMidiOut инт, инт uDeviceID, dwCallback инт dwInstance инт, инт элемент dwflags);
[DllImport("winmm.dll")]
public extern static int midiOutShortMsg(int lphMidiOut, int dwMsg);
public int midiOut;
частная Play_Click недействительным(объект отправителя, RoutedEventArgs е)
{
midiOutOpen(out midiOut, 0, 0, 0, 0);
InstanceCaller = Новый Поток(new ThreadStart(SendMessage));
InstanceCaller.Начать();
}
private void SendMessage()
{
for (int i = 0; i < melodyList.Граф; i++)
{
var messgae = конвертировать.ToInt32(мелодист[i], 16);
midiOutShortMsg(midiOut, messgae);
Нить.Сон(Новообращенный.ToInt32(список длительности[i]));
}
}