Как я могу воспроизвести звук, активируемый несколькими действиями за раз? - PullRequest
0 голосов
/ 28 мая 2020

Как я могу вызвать функцию, например Воспроизвести звук, если я делаю 3 мигания за 2 секунды?

if blinking_ratio > 5.7:
    cv2.putText(frame, "BLINKING", (50, 150), font, 7, (255, 0, 0))
    winsound.PlaySound("campainha.wav.wav", winsound.SND_FILENAME)

Здесь, если я мигаю, звук воспроизводится ... Я хочу играть, только если я моргну 3 раза по 2 секунды например ...

1 Ответ

0 голосов
/ 28 мая 2020

Вы можете настроить класс Time, используя

class Time(datetime.tzinfo):
  def utcoffset(self, x):
    return datetime.timedelta(hours=-5) + self.dst(x)

  def dst(self, x):
    date = datetime.datetime(x.year, 3, 8)
    self.dston = date + datetime.timedelta(days=6-date.weekday())
    date = datetime.datetime(x.year, 11, 1)
    self.dstoff = date + datetime.timedelta(days=6-date.weekday())
    if self.dston <= x.replace(tzinfo=None) < self.dstoff:
      return datetime.timedelta(hours=1)
    else:
      return datetime.timedelta(0)

  def tzname(self, x):
    return 'Time'

def timeStamp():
  return datetime.datetime.now(tz=Time()).strftime('%Y-%m-%d %H:%M:%S')

Из этого вы можете сделать что-то вроде

while . . .:
  start = timeStamp()
  blinkOnce()
  end = timeStamp()
  if start - end < 2:
    pass
  else:
    break

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...