python每隔30s检查一次_用Python写一个“离线语音提示器”来提醒我们别忘记了时间...
生活随笔
收集整理的這篇文章主要介紹了
python每隔30s检查一次_用Python写一个“离线语音提示器”来提醒我们别忘记了时间...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
本文的文字及圖片來源于網絡,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。
環境:
Win7系統,外網未連接,主機接有返聽音箱。
準備:
這里明顯要用語音合成,既然是離線狀態,肯定沒法調用百度AI之類的接口。裝一個離線語音包又有點興師動眾,所以干脆我們就用微軟自帶的Speech SDK吧。注意,很多Ghost版的系統,可能去掉了這塊功能,需要重新安裝。經過上網學習,我們發現只需安裝pyttsx3這個庫。
思路:
把所有的鈴聲,放到一個列表里。然后遍歷列表,找到當前時間對應的下一個打鈴的時間。然后判讀相差的“分”數(并沒有精確到秒,只是是大致提醒),調用語音合成輸出。
點擊加群即可免費獲取Python學習資料
資料就放在群文件里等你來拿
編碼:
import datetime,time import pyttsx3engine = pyttsx3.init() ringTimes=["8:30","9:00","11:00","14:00","14:30","15:30", "15:55","16:20","17:20"]def alarmTime():currTime=datetime.datetime.now()h,m,s=currTime.hour,currTime.minute,currTime.secondfor t in ringTimes:t2=int(t.split(':')[0])*60+int(t.split(':')[1])t1=h*60+mif t1<t2 and t2-t1<=30 and m%5==0:tip="距離下一個鈴聲還有不到%d分鐘" % (t2-t1)print(tip)engine.say(tip)engine.runAndWait()break while True:alarmTime()time.sleep(60)效果:
效果就是鈴聲前N分鐘,每隔m分鐘,比如鈴聲前半小時每5分鐘提示一次。這些,都可以自由修改。于是就聽到我們預想的播報啦。
你也可以適當修改一下生成的語言語速:
后記:
寫這些小玩意,實際是Python比較專長的東西。畢竟有很多現成的庫可以直接調用,寫起來也非常簡單,只需要簡單組織一下邏輯就好。例如每隔一分鐘去查詢是不是5的倍數的分,然后大致的提醒我們,這就足夠了。
總結
以上是生活随笔為你收集整理的python每隔30s检查一次_用Python写一个“离线语音提示器”来提醒我们别忘记了时间...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jqc3ff继电器引脚图_电气元件中间继
- 下一篇: python selenium 等待元素