音樂播放、暫停、繼續播放、停止
Scratch 除了可以寫程式、繪製角色和背景,更可以進行簡單的聲音剪輯處理,這篇教學會透過簡單的程式控制音樂,實現音樂的播放、暫停、繼續播放與停止的功能。
快速導覽:
繪製角色造型
建立一個新角色「btn_play」,負責控制音樂的播放、暫停和繼續播放,替角色繪製三組造型,造型名稱分別是 stop ( 黑色三角 )、play ( 綠色三角 ) 和 pause ( 兩條紅色直線 )。
建立第二個新角色「btn_stop」,負責將音樂停止,造型使用黑色正方形。
建立第三個新角色「text」,負責顯示目前音樂播放狀態,替角色繪製三組造型,造型名稱分別是 stop ( 顯示 STOP )、play ( 顯示 PLAYING... ) 和 pause ( 顯示 PAUSE )。
三個造型完成後,參考下圖,在舞台中排列三個造型。
上傳音樂
點擊角色「btn_play」,切換到「音效」頁籤,使用「上傳」的方式上傳自己喜歡的音樂。
程式原理 ( 播放按鈕 )
回到角色「btn_play」的程式頁籤,設定點擊綠旗時,發送 stop 廣播訊號,並設定收到廣播訊號時,停止播放所有音效以及切換造型為 stop ( 確保一定要點擊後才會開始播放 )。
設定點擊 btn_play 角色時,根據下列規則撰寫程式:
造型 | 目前狀態 | 程式內容 |
---|---|---|
stop 黑色三角形 | 停止播放 | 開始播放音樂,切換造型為 pause 和廣播 play 訊息。 |
pause 紅色雙直線 | 正在播放 | 暫停播放音樂,切換造型為 play 和廣播 pause 訊息。 |
play 綠色三角形 | 暫停播放 | 繼續播放音樂,切換造型為 pause 和廣播 play 訊息。 |
由於 Scratch 沒有提供「音樂暫停」的功能,只能將音高設為「-10000」將播放速度降到最低 ( 臨界值是 -1000,設定為 -10000 更能確保以最慢速播放 ),同時將音量設為「0」來模擬暫停的情境,實際上音樂還是在播放,只是用非常非常慢的速度播放。
注意,此處造型名稱和傳送的廣播訊息剛好相反,因為通常播放時,會顯示 pause 造型讓使用者點擊,暫停時則會顯示 play 造型讓使用者點擊。
程式原理 ( 停止按鈕 )
點擊角色「btn_stop」,設定點擊角色時發送 stop 廣播訊號。
程式原理 ( 文字顯示 )
點擊角色「text」,設定收到 play 訊號時切換為 play 造型,收到 pause 訊號時切換為 pause 造型,收到 stop 訊號時切換為 stop 造型。
完成效果
程式完成後,點擊綠旗,就可以透過按鈕控制音樂播放、暫停、繼續播放、停止。
讓音樂不斷重播
點擊角色「btn_play」,新增一個名為「音樂重播」的函式,內容使用重複無限次迴圈不斷播放音樂,接著在播放時執行函式,就能不斷重播,如果要停止音樂,只要加入「停止全部」的功能,就能停止所有重複迴圈而不影響功能,也就能將音樂停止。
範例解答
小結
Scratch 雖然可以控制音樂的播放,但美中不足的是不能「真正暫停」音樂,只能使用「超慢速 + 靜音」來模擬暫停,這篇教學除了介紹暫停音樂的做法,也使用造型的方式進行控制,是相當有技巧性的一篇教學喔~
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~