7
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Python3で目覚ましを作る

Last updated at Posted at 2019-04-21

基本的に自分用のメモとして作成。

引き続きPythonの勉強中。
(前回→Pythonで月名を表示

旦那に「いい課題ない?」と聞いたら「目覚まし時計とかは?」
と言われたので作った。


今回目覚まし時計の作成に ・pygame.mixer ・schedule ・time のモジュールを使用。

pygame.mixerとscheduleはないのでまずインストール。

これでインストールできた。

pip install pygame
pip install schedule


以下が作成したコード。

AlarmClock.py
import pygame.mixer
import schedule
import time


#アラーム処理
def Alarm():
	print("時間です")
#	print("\007")  #ビープ音
	Sound()
	exit()   #これがないと無限ループになるので注意
	
#音再生処理
def Sound():
	pygame.mixer.init() #初期化
	pygame.mixer.music.load('alerm1.mp3') #読み込み
	pygame.mixer.music.play(-1) #ループ再生(引数を1にすると1回のみ再生)
	input()
	pygame.mixer.music.stop() #終了
	

#目覚まし設定時間取得
print("目覚ましをセットする時間を指定してください")
hour = input("時間(hour):")
minute = input("分(minute):")
target = f"{hour.zfill(2)}:{minute.zfill(2)}"
print(target+"にアラームをセットしました")

#アラーム時間設定
schedule.every().day.at(target).do(Alarm)

#アラーム待ち
while True:
	schedule.run_pending()
	time.sleep(1)

実行するとこんな感じ。
(入力 1回目:19 2回目:12)

pygame 1.9.5
Hello from the pygame community. https://www.pygame.org/contribute.html
目覚ましをセットする時間を指定してください
時間(hour):19
分(minute):12
19:12にアラームをセットしました

この場合19:12になれば「時間です」と表示され、alerm1.mp3が再生される。
何かキー入力すれば音を停止できるようにしてます。


以下の文章はpygameのモジュールをインポートすると出てくるみたい。
pygame 1.9.5
Hello from the pygame community. https://www.pygame.org/contribute.html


ちなみにコードについてだけど、コメントアウトしてる以下の部分は
print("\007")

ビープ音を鳴らす処理。
MP3再生処理が最初わからなかったので、とりあえずこれを入れてた。
今後もテストとかで使える気がするので、こういうものがあると忘れないようにコメントで残しておく。


他にもっといいやり方とかあるんだろうけど、今回これしかわからなかった。 あと今回scheduleは指定時間に実行として使ったけど、周期実行や指定曜日に実行とかもできるらしい。 色々使ってみて覚えていきたいね。


最後に雑談だけど、Qiitaって記事投稿したらしばらくは投稿できないんだね。知らなかった。
7
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?