当前位置: 首页>>代码示例>>Python>>正文


Python Clock.d_audio方法代码示例

本文整理汇总了Python中clock.Clock.d_audio方法的典型用法代码示例。如果您正苦于以下问题:Python Clock.d_audio方法的具体用法?Python Clock.d_audio怎么用?Python Clock.d_audio使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在clock.Clock的用法示例。


在下文中一共展示了Clock.d_audio方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: piOClock

# 需要导入模块: from clock import Clock [as 别名]
# 或者: from clock.Clock import d_audio [as 别名]
class piOClock(daemon.Daemon):
    def __init__(self):
        path, filename = os.path.split(os.path.abspath(__file__))

        pidfile = os.path.join("/var/run", "piOClock.pid")
        self.logfile = os.path.join("/var/log", "piOClock.log")

        logging.basicConfig(
            format='%(asctime)-23s - %(levelname)-7s - %(name)s - %(message)s',
            file=self.logfile)
        self.log = logging.getLogger("piOClock")
        self.log.setLevel(logging.INFO)
        locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')

        daemon.Daemon.__init__(self, pidfile,
                               stderr=self.logfile, stdout=self.logfile)

    def shutdown(self, signum=0, frame=None):
        self.log.info("Shutdown clock...")
        self.clk.clear()
        self.clk.oled.text_center("Exiting...", "blue", size=30)
        self.clk.display()
        self.clk.stop_all()
        self.clk.oled.fillScreen(0)
        os._exit(0)

    def run(self):
        # Wiringpi pin number, NOT RPI PIN! see here: http://wiringpi.com/pins/
        # Maybe use RPi instead of wiringpi...
        RESET_PIN = 15
        DC_PIN = 16
        led = ssd1351.SSD1351(reset_pin=RESET_PIN, dc_pin=DC_PIN, rows=96)
        self.clk = Clock(led)

        # handle sigterm
        signal.signal(signal.SIGTERM, self.shutdown)

        now = datetime.datetime.now()

        led.clear()

        led.log.setLevel(logging.WARNING)

        hours = now.hour
        minutes = now.minute

        # time sync
        time.sleep(1-datetime.datetime.now().microsecond/1000.0/1000.0)
        REFRESH_RATE = 1

        # Alarm (fixed for testing purpose)
        self.clk.alarm = ""  # 07:00"
        try:
            while True:
                now = datetime.datetime.now()
                resync = 0
                self.clk.clear()
                if self.clk.input_thread.has_input.is_set():
                    with self.clk.audio_thread.lock:
                        wheel = self.clk.input_thread.wheel
                        click = self.clk.input_thread.click
                    self.clk.input_thread.has_input.clear()
                    if wheel != 0 and not self.clk.in_menu:
                        new_vol = self.clk.audio_thread.volume + self.clk.input_thread.wheel
                        self.clk.d_volume(new_vol)
                    elif click or wheel != 0:
                        self.clk.d_menu(click, wheel)
                    with self.clk.input_thread.lock:
                        self.clk.input_thread.wheel = 0
                        self.clk.input_thread.click = False
                # elif clk.freeze > 0:
                #    clk.freeze -= 1
                #    clk.d_menu()
                else:
                    self.clk.in_menu = False
                    self.clk.in_volume = False
                    self.clk.freeze = 0
                self.clk.d_clock()
                if not self.clk.in_menu:
                    self.clk.d_mplayer()
                    self.clk.d_signal()
                    self.clk.d_temp()
                    self.clk.d_audio()
                    self.clk.d_alarm()
                self.clk.d_cpu()

                self.clk.display()

                if minutes != now.minute:
                    # refresh minutes
                    minutes = now.minute
                    if (now.microsecond > 100000):
                        resync = 0 - (now.microsecond/1000.0/1000.0)

                # end here
                d = (datetime.datetime.now()-now).total_seconds()
                s = max(REFRESH_RATE - d + resync, 0)
                if s > 0:
                    # time.sleep(s)
                    self.clk.input_thread.has_input.wait(s + 1*self.clk.freeze)
#.........这里部分代码省略.........
开发者ID:darknao,项目名称:piOClock,代码行数:103,代码来源:piOClock.py


注:本文中的clock.Clock.d_audio方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。