M5Stack音樂播放器

使用M5Stack Core2播放音樂

M5Core2 是M5Stack開發套件系列中第二代主機, 基於 ESP32 開發,支援WiFi、藍牙,內置揚聲器,電源指示燈,震動馬達,RTC,I2S功放,電容式觸摸屏幕,電源鍵,復位按鍵,TF卡插槽(支持最大16GB)…

這個範例使用到的部份只是觸控、喇叭及SD卡

利用觸控螢幕來選擇及播放

很方便地利用UIFlow拖曳一些積木來湊程式就可以實現觸控選曲及播放音樂的功能…

M5STACK的2吋LCD就是能提供比較好的視覺效果,小小的喇叭音量也還可以,只不過播放較長音樂的過程中,會聽到一點雜訊

設置及程式說明

準備音樂檔案

在這個範例中使用了五個音樂檔(wav),我以goldwave存成16bit 44100Hz的聲音檔,將這些檔案複製到micro SD卡裡

※microSD卡的容量最好不要超過16G,格式化時最好用SDFormatter之類的專用程式來做,以免M5會有讀不到的情形

畫面佈置

在螢幕上拖了三個label物件,一個是label0用來顯示目前的曲目,label1是標題文字「咖啡虫音樂播放器」,label_pwr是用來顯示電量的

建了三個虛擬Button,分別是touch_button_prev上一曲、touch_button_next下一曲及touch_button_play播放鈕

使用變數

在程式中用到了「變數」來儲存變化的數值及文字,用到了4個

music_files→用來存放曲目音樂檔名路徑的陣列

music_name→用來存放曲目音樂名稱的陣列

music_play→用來存放前要播放的音樂檔檔名路徑

temp_num→用來存放目前陣列序號的暫存變數

程式啟動時,將資料寫入陣列,預設取出第0筆來顯示

按鈕程式

主要是操縱陣列的序號變化,利用這個序號可以從兩個陣列中讀出檔案的路徑及曲名,路徑供給music_play這個變數,當「Music Play」按鈕被按下時,最會播放目前路徑的音樂檔