作為一個需要在電腦上工作和學習的人,一件十分困擾我的事情就是怎樣不受互聯網中其他內容的干擾而專注於自己想要做的事情,有的時候真的是沉浸於微博上的消息,忘了自己本來想要做的事。不過我有一件神器,自己愛豆的音頻激勵,所以決定寫一個python腳本,讓電腦每小時定時播放,提醒自己專注學習。
讓python播放音頻
python播放音頻實際上很簡單,使用pygame模塊,只需要四五行的代碼。
1 import pygame, time 2 3 pygame.mixer.init() 4 track = pygame.mixer.music.load("E:\\Entertainment\\Audios\\by\\study.mp3") 5 pygame.mixer.music.play() 6 time.sleep(10) 7 pygame.mixer.music.stop()
注意這里要讓進程sleep一段時間,因為我的音頻本身只有7秒,所以這里睡眠10秒就足夠了。
windows定時任務
這是windows自帶的功能,自認為還是比較強大的。
請返回桌面,在我的電腦上右鍵選擇管理(Manage) -> System Tools -> Task Scheduler,在右側選擇Create Basic Task
這時會彈出一個新的窗口:
- 輸入任務名,下一步
- 之后會讓你選擇任務的執行周期,這里選在Daily,然后選擇開始時間,Recur every這里填寫1天,下一步
- 這里要選擇任務執行的動作,這里為了執行python腳本,選擇start a program,下一步
- 接下來就要選擇執行的程序了,這里需要特別注意:
- Program/script: Browse...這里選擇pythonw.exe這個程序(后面會說明為什么不選擇python.exe)。因為我的電腦里同時安裝了python2和python3,所以我的最終路徑是這樣的C:\Users\YJChan\AppData\Local\Programs\Python\Python36\pythonw.exe
- Add arguments這里填寫你的腳本路徑:E:\Entertainment\Audios\by\autoplay.py
- Start in保持空白即可
任務創建完成,但是這時候還是每天執行一次,我們需要把它修改為每小時執行一次:
在Task Scheduler Library中找到你剛剛添加的任務,雙擊,在trigger選項卡中有一個Advancec settings,勾選Repeat task every 這里選擇1 hour,后面的for duration of選擇1 day,這樣每小時播放就實現了
為什么要選擇pythonw.exe
好奇的同學可以試一下選擇python.exe,其實原因很簡單,因為我這里想要在后台播放音頻,而不是每次播放音頻的時候都彈出一個命令行窗口。
這也是pyw和py文件的區別,pyw格式是用來開發純圖形化界面程序的,所以默認沒有命令行窗口,這里很好的實現了我想要后台播放音頻的想法。
試驗一下
這時候任務其實已經建立完畢了,不過我很好奇它的實現效果。所以,仍舊是在Task Scheduler Library中,在新建的任務上右鍵,選擇Run,成功,已經可以聽到我想要的音頻了。