배경 음악 재생, 일시 중지, 중지 및 반복

페이지 업데이트 :
페이지 생성 날짜 :

검증 환경

윈도우
  • 윈도우 11
Unity 에디터
  • 2021.3.3f1
입력 시스템 패키지
  • 1.3.0

이 팁의 전제 조건

이 팁에 대한 설명의 전제로 다음 설정이 미리 이루어졌습니다.

샘플에 포함 된 재료에 대해

BGM은 다음 사이트에서 차용하고 있습니다.

오디오 파일 정보

Unity의 표준 기능으로 재생할 수 있는 오디오 파일 포맷은 다음과 같습니다. 이 팁에서 사용되기 때문에 미리 준비하십시오.

  • 오그보비스 (.ogg)
  • MPEG 레이어 3(.mp3)

자세한 내용은 공식 Unity 문서를 참조하십시오.

BGM 재생에 관하여

배경 음악을 재생하는 방법에는 여러 가지가 있지만 여기서는 표준 기능을 사용하면서 간단한 방법으로 재생하는 방법을 설명하고자 합니다.

내용은 버튼을 정렬하고 버튼을 클릭하여 재생, 일시 중지 및 중지하는 것입니다. 실제 게임에서는 버튼 이외에 동일한 프로세스를 구현할 수 있습니다.

먼저 그림과 같이 BGM을 재생하는 버튼을 배치합니다.

준비된 오디오 파일을 프로젝트에 끌어다 놓아 추가합니다.

그런 다음 계층 구조에 "Audio Source"를 추가합니다.

생성한 오디오 소스를 선택하면 오디오 소스 컴포넌트에 오디오 클립이 생성되며, 이 클립에 프로젝트의 오디오 파일을 드롭하여 구성할 수 있습니다.

덧붙여서 그대로 게임을 시작하면 갑자기 설정한 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, , 및 메서드를 사용하여 각각 재생, 일시 중지 및 PlayPauseStop 중지할 수 있습니다.

스크립트를 오디오 소스에 첨부할 수 있지만, 이 경우 EventSystem에 첨부합니다. 스크립트가 이전에 만든 오디오 소스로 채워져 있는지 확인합니다.

이제 각 메서드를 세 버튼의 클릭 이벤트에 할당합니다.

설정 후 게임을 실행하고 배경 음악이 재생되는지 확인합니다.

재생, 일시 정지, 중지는 일반적으로 사용되는 용어이므로 자세히 쓸 필요는 없지만 다음과 같이 작동한다고 생각합니다.

  • 재생 버튼을 클릭하면 배경 음악이 한 번만 재생되고 끝까지 재생됩니다.
  • 재생 중에 일시 정지 버튼을 클릭하면 재생 중인 사운드가 중지됩니다
  • 일시 정지 상태에서 재생 버튼을 클릭하면 정지된 위치에서 사운드가 재생됩니다.
  • 재생 중에 중지 버튼을 클릭하면 재생 중인 사운드가 중지됩니다
  • 정지된 상태에서 재생 버튼을 클릭하면 처음부터 재생됩니다.
  • 일시 중지 중에 중지 버튼을 클릭하면 일시 중지 위치가 해제되고 다음에 플레이할 때는 처음부터 다시 시작됩니다.
  • 재생 중에 재생 버튼을 클릭하면 현재 재생 중인 사운드가 중지되고 처음부터 재생됩니다.

루프 재생

기본적으로 배경 음악을 재생하고 끝까지 재생하면 자동으로 중지됩니다. 배경 음악을 반복하고 계속 재생하려면 오디오 소스 구성 요소에서 "루프"를 선택하면 중지 버튼을 누를 때까지 계속 반복해서 재생됩니다.

음향 효과 재생의 내용은 동일합니다

음향 효과 측면에 대한 팁을 이미 본 적이 있다면 음향 효과와 배경 음악을 동일한 설정으로 재생할 수 있다는 것을 눈치채셨을 것입니다. 게임 프레임워크에 따라 음향 효과와 배경 음악의 처리가 분리될 수 있지만 Unity를 사용하면 동일한 처리로 둘 다 플레이할 수 있습니다.

창이 비활성화 될 때 배경 음악이 일시 중지되는 현상에 대해

기본적으로 다른 창이 활성화되고 게임 화면이 비활성화되면 게임 자체가 일시 중지됩니다. 이와 함께 배경 음악 재생도 일시 중지됩니다.

이를 방지하려면 배경 음악이 중단되지 않도록 프로젝트 설정에서 백그라운드에서 실행되도록 설정할 수 있습니다.