Přehrání, pozastavení nebo zastavení jednoho zvukového efektu

Stránky aktualizovány :
Datum vytvoření stránky :

Ověřovací prostředí

Windows
  • Systém Windows 11
Editor jednoty
  • 2021.3.3f1
Vstupní systémový balíček
  • 1.3.0

Předpoklady pro tento tip

Následující nastavení byla provedena předem jako předpoklad pro popis tohoto tipu.

O materiálu obsaženém ve vzorku

Zvukové efekty jsou vypůjčeny z následujících stránek.

O zvukových souborech

Pomocí standardních funkcí Unity lze přehrávat následující formáty zvukových souborů: Připravte si ji předem, protože bude použita v těchto tipech.

  • WAV (.wav)
  • OggVorbis (.ogg)
  • MPEG vrstva 3 (.mp3)

Další informace najdete v oficiální dokumentaci k jednotě.

O přehrávání zvukových efektů

Existuje několik způsobů, jak přehrávat zvukové efekty, ale zde vás chceme provést jednoduchým způsobem, jak je přehrávat při používání standardních funkcí.

Obsah je uspořádat tlačítko a přehrát, pozastavit a zastavit kliknutím na tlačítko. Ve skutečné hře můžete implementovat stejný proces kromě tlačítek.

Nejprve umístěte tlačítko pro přehrání zvukového efektu, jak je znázorněno na obrázku.

Přidejte připravený zvukový soubor tak, že jej přetáhnete do projektu.

Dále přidejte do hierarchie "Zdroj zvuku".

Když vyberete zdroj zvuku, který jste vytvořili, komponenta Zdroj zvuku má zvukový klip, do kterého přetáhnete zvukový soubor z projektu a nakonfigurujete jej.

Mimochodem, pokud spustíte hru tak, jak je, zvukový efekt, který jste nastavili, se náhle přehraje. Je to proto, že je zaškrtnuto políčko "Hrát při zahájení hry". Je nepravděpodobné, že se zvukový efekt přehraje náhle, takže tuto kontrolu nechte nezaškrtnutou.

Dále vytvořte skript. SoundPlayer Název ponechte jako .

Skript vypadá takto:

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 bude nastaveno později z editoru. Tento AudioSource je ten, který má zvukový efekt nastavený dříve.

AudioSource, a metody, abyste mohli přehrávat, pozastavovat a PlayPauseStop zastavovat.

Skript můžete připojit ke zdroji zvuku, ale v tomto případě jej připojíte k systému událostí. Ujistěte se, že je skript naplněn zdrojem zvuku, který jste vytvořili dříve.

Nyní přiřaďte každou metodu k události kliknutí tří tlačítek.

Jakmile budete hotovi, spusťte hru a zjistěte, zda se zvukové efekty přehrají.

Přehrát, pozastavit a zastavit jsou běžně používané termíny, takže je nemusíte podrobně psát, ale myslím, že fungují následovně.

  • Po klepnutí na tlačítko Přehrát se zvukový efekt přehraje pouze jednou a přehraje se až do konce.
  • Během přehrávání kliknutím na tlačítko pauzy zastavíte přehrávání zvuku
  • Když v pozastaveném stavu kliknete na tlačítko přehrávání, zvuk se přehraje ze zastavené polohy.
  • Kliknutím na tlačítko Zastavit během přehrávání zastavíte přehrávaný zvuk
  • Klikněte na tlačítko Přehrát, když je zastaveno, abyste mohli hrát od začátku
  • Kliknutím na tlačítko stop během pauzy se pozastavená pozice uvolní a při příštím hraní to bude od začátku.
  • Pokud během přehrávání klepnete na tlačítko Přehrát, aktuálně přehrávaný zvuk se zastaví a přehraje se od začátku.

Nevýhody použití samotného AudioSource

Existuje řešení, ale tento tip má následující nevýhody. Těmto řešením se budeme věnovat v dalším tipu.

Nelze přehrát dva nebo více stejných zvuků současně

Můžete to zkontrolovat opakovaným stisknutím tlačítka přehrávání, ale předchozí zvuk zmizí, když přehrajete nový zvuk. Když už mluvíme o nevýhodách, je to nevýhoda, ale naopak, pokud hrajete stejný zvuk nad sebou, hlasitost bude velmi hlasitá, takže je to výhoda v tom smyslu, že tomu brání. Předchozí zvuk však stále zmizí, takže v závislosti na typu zvuku to bude nepřirozené.

Musíte mít tolik zvukových zdrojů, kolik je typů zvuků k přehrávání

Vzhledem k tomu, že v AudioSource lze nastavit pouze jeden zvukový klip, musíte poskytnout AudioSource, protože máte tolik zvuků, kolik chcete. Můžete také připravit pouze jeden zdroj zvuku a změnit zvukový klip při přehrávání jiného zvuku. Je to nepřirozené, protože předchozí zvuk zmizí kvůli problému, že dva nebo více stejných zvuků napsaných dříve nelze přehrávat současně.