專案程式設計
在專案設計介面中單擊「程式設計」按鈕,切換到編程視窗。
本專案用到的程式模組有內建塊中的變數、文字、列表、控制、邏輯、數學、過程和各元件的事件處理模組、調用過程模組、屬性設置及取值模組。
初始化變數
本專案定義了2個全域變數。「音樂列表索引」用來記錄當前播放的音樂在音樂列表中的索引值,「音樂列表」為本專案用到的所有音訊檔案列表。
定義過程
在本專案中,無論是初始化螢幕,還是播放音樂或晃動手機切換音樂,都需要為音樂播放器設定其來源檔案屬性;無論是單擊「下一首」按鈕,還是晃動手機,音樂列表索引值都會增加,音樂播放器都將播放下一首音樂。定義「設置音樂播放器的來源檔案」過程的程式模組:
定義「播放下一首」過程的程式模組:
在播放音樂時,音樂列表索引值每增加1,音樂播放器就開始播放音樂列表中的下一首音樂。如果音樂列表索引值大於音樂列表長度,則將其值設定為1,從而實現音樂列表中音樂的循環播放。
初始化螢幕
在螢幕初始化時,要將音樂列表顯示在列表顯示框中,並設置音樂播放器的來源檔案。
播放或暫停音樂
單擊播放按鈕,音樂播放器開始播放音樂,圖示將更換為暫停圖示,並啟用加速度感測器,此時應用可以響應並處理手機晃動事件。再次單擊該按鈕,音樂播放器將暫停播放音樂,圖示更換回播放圖示,並將加速度感測器的「啟用」屬性設為假,此時晃動手機將無法切換播放音樂。
播放列表選中項音樂
單擊「清單顯示器」中的某一首音樂,可以觸發列表顯示框的選擇完成事件,此時音樂播放器應播放選中項對應的音樂。
播放上一首音樂
單擊「上一首按鈕」的事件處理模組。在播放音樂時,音樂列表索引值每減少1,音樂播放器就開始播放音樂列表中的上一首音樂。如果音樂列表索引值小於1,則將其值設為音樂列表長度,從而實現音樂列表中音樂的循環播放。
播放下一首音樂
單擊「下一首按鈕」時,直接調用「播放下一首」。
處理手機晃動事件
晃動手機時,若加速度感測器的「啟用」屬性為真,則觸發加速度感測器的晃動事件,將播放的音樂切換為音樂列表中的下一首音樂,並調用「播放下一首」。
音量控制
拖動「音量滑桿」元件的滑塊位置,會觸發其位置變更事件,此時將音樂播放器的音量屬性設為滑塊位置,即可修改音訊播放器的播放音量,實現音量控制。
循環播放
為實現音樂列表的循環播放,增加程式模組。在播放音樂時,一首音樂播放完畢,音樂播放器將會自動播放下一首音樂。