Възпроизвеждане, пауза или спиране на единичен звуков ефект

Страницата се актуализира :
Дата на създаване на страница :

Среда за проверка

Уиндоус
  • Прозорци 11
Редактор на единство
  • 2021.3.3f1
Пакет на входната система
  • 1.3.0

Предпоставки за този съвет

Следните настройки са направени предварително като предпоставка за описанието на този съвет.

За материала, включен в пробата

Звуковите ефекти са заимствани от следните сайтове.

За аудио файловете

Следните аудио файлови формати могат да се възпроизвеждат със стандартните функции на Unity: Моля, подгответе го предварително, защото ще бъде използван в тези съвети.

  • WAV (.wav)
  • ОгВорбис (.ogg)
  • MPEG слой 3 (.mp3)

За повече информация вижте официалната документация на Unity.

За възпроизвеждането на звукови ефекти

Има няколко начина за възпроизвеждане на звукови ефекти, но тук искаме да ви преведем през един прост начин да ги възпроизвеждате, докато използвате стандартните функции.

Съдържанието е да подредите бутон и да играете, да направите пауза и да спрете, като кликнете върху бутона. В реална игра можете да приложите същия процес, различен от бутоните.

Първо, поставете бутон, за да възпроизведете звуковия ефект, както е показано на фигурата.

Добавете подготвения звуков файл, като го пуснете в проекта си.

След това добавете "Аудио източник" към йерархията.

Когато изберете аудиоизточника, който сте създали, компонентът "Аудио източник" има аудиоклип, в който пускате аудиофайл от вашия проект, за да го конфигурирате.

Между другото, ако започнете играта такава, каквато е, звуковият ефект, който сте задали, изведнъж ще се играе. Това е така, защото се проверява "Играй в началото на играта". Малко вероятно е звуковият ефект да се възпроизведе внезапно, така че оставете тази проверка неотметната.

След това създайте скрипт. 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, , и методи, така че да можете да възпроизвеждате, поставяте на пауза и PlayPauseStop спирате съответно.

Можете да прикачите скрипта към аудио източника, но в този случай ще го прикачите към EventSystem. Уверете се, че скриптът ви е попълнен с аудиоизточника, който създадохте по-рано.

Сега задайте всеки метод на събитието за кликване на трите бутона.

След като приключите, стартирайте играта и вижте дали звуковите ефекти се възпроизвеждат.

Play, пауза и спиране са често използвани термини, така че не е нужно да ги пишете подробно, но мисля, че те работят по следния начин.

  • Когато щракнете върху бутона за възпроизвеждане, звуковият ефект се възпроизвежда само веднъж и се възпроизвежда до края.
  • По време на възпроизвеждане щракнете върху бутона за пауза, за да спрете възпроизвеждането на звука
  • Когато щракнете върху бутона за възпроизвеждане, докато сте на пауза, звукът се възпроизвежда от спряно положение.
  • Щракнете върху бутона за спиране по време на възпроизвеждането, за да спрете възпроизвеждането на звука
  • Щракнете върху бутона за възпроизвеждане, докато сте спрели да играете от самото начало
  • Щракването върху бутона за спиране по време на паузата ще освободи поставената на пауза позиция и следващия път, когато играете, ще бъде от самото начало.
  • Ако щракнете върху бутона за възпроизвеждане по време на възпроизвеждане, изпълняваният в момента звук се спира и се възпроизвежда от самото начало.

Недостатъци на използването само на AudioSource

Има заобиколно решение, но този съвет има следните недостатъци. Ще разгледаме тези решения в друг съвет.

Не може да се възпроизвеждат два или повече от един и същ звук едновременно

Можете да проверите това, като натиснете бутона за възпроизвеждане няколко пъти, но предишният звук изчезва, когато възпроизвеждате нов звук. Говорейки за недостатъци, това е недостатък, а напротив, ако възпроизвеждате един и същ звук един върху друг, силата на звука ще бъде много силна, така че това е предимство в смисъл, че го предотвратява. Въпреки това, предишният звук все още ще изчезне, така че в зависимост от вида на звука, той ще бъде неестествен.

Трябва да имате толкова аудиоизточници, колкото са видовете звуци за възпроизвеждане

Тъй като само един аудио клип може да бъде зададен в аудиоизточник, трябва да предоставите аудиоизточник, тъй като имате толкова звуци, колкото искате. Можете също така да подготвите само един аудиоизточник и да промените аудиоклипа, когато възпроизвеждате различен звук. Това е неестествено, защото предишният звук изчезва поради проблема, че два или повече от един и същ звук, написан преди, не могат да бъдат възпроизведени по едно и също време.