播放、暫停、停止和迴圈播放背景音樂
驗證環境
- 窗戶
-
- 視窗 11
- 統一編輯器
-
- 2021.3.3f1
- 輸入系統包
-
- 1.3.0
此提示的先決條件
作為此提示描述的前提,已預先進行了以下設置。
關於樣品中包含的材料
BGM是從以下網站借來的。
關於音訊檔
可以使用 Unity 的標準功能播放以下音訊檔案格式: 請提前準備,因為它將在這些提示中使用。
- 奧格沃比斯 (.ogg)
- MPEG 第 3 層 (.mp3)
有關更多資訊,請參閱官方 Unity 文件。
關於背景音樂播放
有幾種播放背景音樂的方法,但在這裡我們想解釋如何在使用標準功能時以簡單的方式播放它。
內容是排列一個按鈕,並通過按兩下該按鈕來播放、暫停和停止。 在實際遊戲中,您可以實現按鈕以外的相同過程。
首先,放置一個按鈕來播放BGM,如圖所示。
通過將準備好的音訊檔拖放到專案中來添加該檔。
接下來,將「音頻源」添加到層次結構中。
選擇建立的音訊源時,「音訊源」元件具有一個音訊剪輯,您可以將專案中的音訊檔拖放到其中以進行配置。
順便說一句,如果您按原樣啟動遊戲,您設置的 BGM 會突然播放。 這是因為選取了「在遊戲開始時播放」。 如果您想在場景開始時立即播放它,則沒有問題,但這次它不會立即播放,因此請取消選中此檢查。
接下來,創建一個腳本。 MusicPlayer
將名稱保留為 。
文稿如下所示:
using UnityEngine;
public class MusicPlayer : MonoBehaviour
{
[SerializeField] private AudioSource AudioSource;
public void OnClickPlay()
{
// オーディオを再生します
AudioSource.Play();
}
public void OnClickPause()
{
// オーディオを一時停止します
AudioSource.Pause();
}
public void OnClickStop()
{
// オーディオを停止します
AudioSource.Stop();
}
}
AudioSource
稍後將從編輯器中設置。 此音訊源是您剛剛插入的音訊檔的音訊源。
AudioSource
、 和方法,因此您可以分別播放、暫停和Play
Pause
Stop
停止。
您可以將文稿附加到音訊源,但在本例中,您需要將其附加到事件系統。 確保腳本填充了之前創建的音訊源。
現在將每個方法分配給三個按鈕的按兩下事件。
設置完成後,運行遊戲並查看背景音樂是否播放。
播放、暫停和停止是常用術語,因此您無需詳細編寫它們,但我認為它們的工作原理如下。
- 按兩下播放按鈕時,背景音樂僅播放一次並播放到最後。
- 在播放過程中,按兩下暫停按鈕以停止播放聲音
- 當您在暫停時按下播放按鈕時,聲音將從停止位置播放。
- 在播放過程中按下停止按鈕以停止播放聲音
- 停止播放時按下播放按鈕以從頭開始播放
- 在暫停期間按兩下停止按鈕將釋放暫停的位置,下次您玩遊戲時,它將從頭開始。
- 如果在播放過程中按下播放按鈕,則會停止當前播放的聲音並從頭開始播放。
迴圈播放
默認情況下,它播放背景音樂,並在播放到最後時自動停止。 如果要迴圈播放背景音樂並繼續播放,請檢查音訊源元件中的「迴圈」,它將繼續重複播放,直到您按下停止按鈕。
音效播放內容相同
如果您已經看到了音效方面的提示,您可能已經注意到音效和背景音樂可以使用相同的設置播放。 根據遊戲框架的不同,音效和背景音樂的處理可能是分開的,但 Unity 允許您使用相同的處理方式播放兩者。
關於視窗停用時背景音樂暫停的現象
默認情況下,當其他視窗處於活動狀態且遊戲螢幕停用時,遊戲本身將暫停。 與此同時,背景音樂的播放也被暫停。
為避免這種情況,您可以在項目設置中將其設置為在後台運行,以便背景音樂不會中斷。