Проигрывание звука с условием в цикле - C#
Формулировка задачи:
Добрый День
Мне необходимо, чтобы звук проигрывался с условием в цикле, но не начинал проигрываться заново, если значение в памяти удовлетворяет текущему условию.
Для этого добавил Булевую, но с ней он вообще отказывается входить в условие, а если убрать, то он пытается постоянно запустить плеер.
Подскажите пожалуйста.
void method()
{
byte[] buffer = new byte[sizeof(float)];
bool nn = true;
while (true)
{
buffer = ME.ReadMemory((IntPtr)0x05369380, sizeof(float));
float spd = BitConverter.ToSingle(buffer, 0);
if ((spd >= 0) && (spd <= 4) && nn) //0
{
nn = false;
SoundPlayer sound = new SoundPlayer(WindowsFormsApplication13.Properties.Resources._1); sound.Stop();
}
else if ((spd <= 12) && (spd >= 5) && nn) //1
{
nn = false;
SoundPlayer sound = new SoundPlayer(WindowsFormsApplication13.Properties.Resources._1);
sound.PlayLooping();
}
else if ((spd <= 23) && (spd >= 13) && nn) //2
{
nn = false;
SoundPlayer sound = new SoundPlayer(WindowsFormsApplication13.Properties.Resources._2); sound.PlayLooping();
}
}Решение задачи: «Проигрывание звука с условием в цикле»
textual
Листинг программы
void method()
{
byte[] buffer = new byte[sizeof(float)];
float? prevSpd = null;
while (true)
{
buffer = ME.ReadMemory((IntPtr)0x05369380, sizeof(float));
float spd = BitConverter.ToSingle(buffer, 0);
if (prevSpd.HasValue && prevSpd.Value == spd) continue;
// Условия
// ...
prevSpd = spd;
}
}