단일 사운드 효과를 재생, 일시 중지 또는 중지합니다

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

검증 환경

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

이 팁의 전제 조건

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

샘플에 포함 된 재료에 대해

음향 효과는 다음 사이트에서 차용합니다.

오디오 파일 정보

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

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

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

음향 효과 재생에 관하여

음향 효과를 재생하는 방법에는 여러 가지가 있지만 여기서는 표준 기능을 사용하면서 음향 효과를 재생하는 간단한 방법을 안내하고자 합니다.

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

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

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

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

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

덧붙여서 그대로 게임을 시작하면 설정한 음향 효과가 갑자기 재생됩니다. "게임 시작 시 플레이"가 체크되어 있기 때문입니다. 음향 효과가 갑자기 재생될 가능성은 낮으므로 이 체크를 선택하지 않은 상태로 두십시오.

그런 다음 스크립트를 만듭니다. SoundPlayer 이름을 그대로 둡니다.

스크립트는 다음과 같습니다.

using UnityEngine;

public class SoundPlayer : MonoBehaviour
{
  [SerializeField] private AudioSource AudioSource;

  public void OnClickPlay()
  {
    // オーディオを再生します
    AudioSource.Play();
  }

  public void OnClickPause()
  {
    // オーディオを一時停止します
    AudioSource.Pause();
  }

  public void OnClickStop()
  {
    // オーディオを停止します
    AudioSource.Stop();
  }
}

AudioSource 나중에 편집기에서 설정됩니다. 이 AudioSource는 이전에 음향 효과가 설정된 것입니다.

AudioSource, , 및 메서드를 사용하여 각각 재생, 일시 중지 및 PlayPauseStop 중지할 수 있습니다.

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

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

완료되면 게임을 실행하고 음향 효과가 재생되는지 확인합니다.

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

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

AudioSource만 사용할 경우의 단점

해결 방법이 있지만 이 팁에는 다음과 같은 단점이 있습니다. 다른 팁에서 이러한 솔루션을 다룰 것입니다.

같은 소리를 두 개 이상 동시에 재생할 수 없습니다.

재생 버튼을 여러 번 눌러 확인할 수 있지만 새 사운드를 재생하면 이전 사운드가 사라집니다. 단점이라고 하면 단점입니다만, 반대로 같은 소리를 겹쳐서 재생하면 볼륨이 굉장히 커지기 때문에 막아준다는 의미에서 장점입니다. 그러나 이전 소리는 여전히 사라지기 때문에 소리의 종류에 따라 부자연 스럽습니다.

재생할 사운드 유형만큼 많은 AudioSource가 있어야 합니다

AudioSource에는 하나의 오디오 클립만 설정할 수 있으므로 원하는 만큼 사운드가 있으므로 AudioSource를 제공해야 합니다. 하나의 AudioSource만 준비하고 다른 사운드를 재생할 때 오디오 클립을 변경할 수도 있습니다. 이전에 쓰여진 동일한 사운드가 두 개 이상 동시에 재생될 수 없다는 문제로 인해 이전 사운드가 사라지기 때문에 부자연스럽습니다.