前二天老爸忽然想把他彈的吉他曲子,錄成光碟,拿到早餐店去放。
因事出突然,加上我電腦剛重灌好,臨時沒有很好的錄音軟體…
上網找了一些現成的發現都要註冊,用起來還滿卡手的~
老爸已算很快就錄好了,如果是我自己錄,失敗加上不滿意,弄半天都花在操作,
而且又很討厭事後才在剪接,於是這個 python 錄音機就很神奇的生出來了…
Screenshot:
http://demo.3wa.tw/uploads/upload/mp3recorder.png
Dict: ( 6.1MB )
http://demo.3wa.tw/uploads/upload/mp3recorder.rar
Source ( 124KB )
http://demo.3wa.tw/uploads/upload/mp3recorder-src.rar
操作說明:
簡單的說,按下「產生新檔」,就生自動在「暫存的目錄」,產生一個以時間流水檔名。
然後按下紅色的錄音,就可以開始錄製聲音,比較方便是可以直接聽,然後不停的產生新檔。
我作了一個很方便複製到桌面的功能~還滿方便的,不過目前我只在 win7 測試,XP的環境
這功能不知道正不正常。
開發心得:
1、最重要當然是錄音機的實作。
2、UI的操作,寫到後來有點雜亂了,不過註解寫的相當清楚。
3、修改了播放聲音的一些bug,之後可能也要回頭去改 mp3cutter
不過不太重要,主要是秒數部分的修改處理。
4、base64 icon 的功能。
(我寫了支把圖片轉成 base64 的小程式放在 source 包)
如果未來要在專案中放個小圖,就不用刻意多放一個檔案了,程式自己生就好。
5、錄音的部份參考 pymedia 的 source
http://pymedia.org/tut/src/voice_recorder.py.html
6、這次在開發 UI 時,我把想呈現的畫面,用筆記紙畫下來,然後把所有
元件的 Name 都寫在上面,所以在操作 UI 時,直接看筆記,整體開發相對快
很多了,在寫這次這個軟體,全部的開發時間約8小時,我覺得進步不少。
7、如果直接拿元件的字元出來作字串的比對,要 encode 成 cp950
像這種的 if self.btn_recoder.GetLabel().encode('cp950') == '●':
UI 操作寫的滿髒的,有機會寫第二版再改…
總之~Source 裡都有註解,有興趣的就解來玩玩吧~~
有什麼建議改進的方向也請大大們分享一下建議^^
Author: 羽山秋人 (shadow@demo.3wa.tw)
Home Page: http://demo.3wa.tw/
License: Free Software
Release Date: 2011-03-07
Build Requires:
python 2.6
wxPython 2.8
pymedia (http://pymedia.org/tut/install_bin.html)
實際:http://www.lfd.uci.edu/~gohlke/pythonlibs/
http://www.lfd.uci.edu/~gohlke/pythonlibs/QjDHBobH/pymedia-1.3.7.3.\win32-py2.6.exe
pymp3cut http://sourceforge.net/search/?q=pymp3cut
pymp3cut-0.27.tar.gz
python setup.py install # windows 也可以直接這樣裝
py2exe
Build Command Lite:
python setup.py py2exe
Todo:
Keyboard event
Application Big Icon
Audio Wave Graphics
Microphone Control Panel