Проигрывание звука с условием в цикле - C#

Узнай цену своей работы

Формулировка задачи:

Добрый День Мне необходимо, чтобы звук проигрывался с условием в цикле, но не начинал проигрываться заново, если значение в памяти удовлетворяет текущему условию. Для этого добавил Булевую, но с ней он вообще отказывается входить в условие, а если убрать, то он пытается постоянно запустить плеер. Подскажите пожалуйста.
Листинг программы
  1. void method()
  2. {
  3. byte[] buffer = new byte[sizeof(float)];
  4. bool nn = true;
  5. while (true)
  6. {
  7. buffer = ME.ReadMemory((IntPtr)0x05369380, sizeof(float));
  8. float spd = BitConverter.ToSingle(buffer, 0);
  9.  
  10. if ((spd >= 0) && (spd <= 4) && nn) //0
  11. {
  12. nn = false;
  13. SoundPlayer sound = new SoundPlayer(WindowsFormsApplication13.Properties.Resources._1); sound.Stop();
  14. }
  15.  
  16. else if ((spd <= 12) && (spd >= 5) && nn) //1
  17. {
  18. nn = false;
  19.  
  20. SoundPlayer sound = new SoundPlayer(WindowsFormsApplication13.Properties.Resources._1);
  21. sound.PlayLooping();
  22.  
  23. }
  24. else if ((spd <= 23) && (spd >= 13) && nn) //2
  25. {
  26. nn = false;
  27.  
  28. SoundPlayer sound = new SoundPlayer(WindowsFormsApplication13.Properties.Resources._2); sound.PlayLooping();
  29. }
  30. }

Решение задачи: «Проигрывание звука с условием в цикле»

textual
Листинг программы
  1. void method()
  2. {
  3.     byte[] buffer = new byte[sizeof(float)];
  4.     float? prevSpd = null;
  5.  
  6.     while (true)
  7.     {
  8.         buffer = ME.ReadMemory((IntPtr)0x05369380, sizeof(float));
  9.         float spd = BitConverter.ToSingle(buffer, 0);
  10.         if (prevSpd.HasValue && prevSpd.Value == spd) continue;
  11.  
  12.         // Условия
  13.         // ...
  14.  
  15.         prevSpd = spd;
  16.     }
  17. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы