Yksittäisen äänitehosteen toistaminen, keskeyttäminen tai pysäyttäminen

Sivu päivitetty :
Sivun luontipäivämäärä :

Varmennusympäristö

Windows
  • Windows 11
Unity-editori
  • 2021.3.3F1
Syöttöjärjestelmän paketti
  • 1.3.0

Tämän vinkin edellytykset

Seuraavat asetukset on tehty etukäteen tämän vinkin kuvauksen lähtökohtana.

Tietoja näytteeseen sisältyvästä materiaalista

Äänitehosteet on lainattu seuraavilta sivustoilta.

Tietoja äänitiedostoista

Seuraavia äänitiedostomuotoja voidaan toistaa Unityn vakio-ominaisuuksilla: Valmistele se etukäteen, koska sitä käytetään näissä vinkeissä.

  • WAV (.wav)
  • OggVorbis (.ogg)
  • MPEG-kerros 3 (.mp3)

Lisätietoja on virallisissa Unity-dokumentaatiossa.

Tietoja äänitehosteiden toistamisesta

Äänitehosteiden toistamiseen on useita tapoja, mutta tässä haluamme opastaa sinut läpi yksinkertaisen tavan toistaa niitä vakio-ominaisuuksia käytettäessä.

Sisältö on järjestää painike ja toistaa, keskeyttää ja lopettaa napsauttamalla painiketta. Todellisessa pelissä voit toteuttaa saman prosessin paitsi painikkeet.

Aseta ensin painike toistaaksesi äänitehosteen kuvan osoittamalla tavalla.

Lisää valmis äänitiedosto pudottamalla se projektiisi.

Lisää seuraavaksi "Audio Source" hierarkiaan.

Kun valitset luomasi äänilähteen, Äänilähde-komponentissa on äänileike, johon pudotat äänitiedoston projektista sen määrittämiseksi.

Muuten, jos aloitat pelin sellaisenaan, asettamasi äänitehoste toistetaan yhtäkkiä. Tämä johtuu siitä, että "Pelaa pelin alussa" on valittuna. On epätodennäköistä, että äänitehoste toistetaan yhtäkkiä, joten jätä tämä tarkistus tarkistamatta.

Luo seuraavaksi komentosarja. SoundPlayer Jätä nimeksi .

Skripti näyttää tältä:

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 asetetaan myöhemmin editorista. Tällä AudioSourcella on aiemmin asetettu äänitehoste.

AudioSource, ja menetelmät, jotta voit toistaa, keskeyttää ja PlayPauseStop lopettaa.

Voit liittää skriptin äänilähteeseen, mutta tässä tapauksessa liität sen EventSystemiin. Varmista, että skripti on täytetty aiemmin luomallasi äänilähteellä.

Määritä nyt jokainen menetelmä kolmen painikkeen napsautustapahtumaan.

Kun olet valmis, suorita peli ja katso, toimivatko äänitehosteet.

Toisto, tauko ja pysäytys ovat yleisesti käytettyjä termejä, joten sinun ei tarvitse kirjoittaa niitä yksityiskohtaisesti, mutta mielestäni ne toimivat seuraavasti.

  • Kun napsautat toistopainiketta, äänitehoste toistetaan vain kerran ja toistetaan loppuun asti.
  • Napsauta toiston aikana taukopainiketta lopettaaksesi äänen toiston
  • Kun napsautat toistopainiketta tauon aikana, ääni toistetaan pysäytetystä-asennosta.
  • Napsauta pysäytyspainiketta toiston aikana lopettaaksesi äänen toiston
  • Napsauta toistopainiketta pysähtyneenä toistaaksesi alusta
  • Pysäytyspainikkeen napsauttaminen tauon aikana vapauttaa keskeytetyn sijainnin ja seuraavan kerran kun pelaat, se on alusta.
  • Jos napsautat toistopainiketta toiston aikana, parhaillaan toistettava ääni pysäytetään ja toistetaan alusta.

Pelkästään AudioSourcen käytön haitat

On olemassa kiertotapa, mutta tällä vinkillä on seuraavat haitat. Käsittelemme näitä ratkaisuja toisessa vinkissä.

Kahta tai useampaa samaa ääntä ei voi toistaa samanaikaisesti

Voit tarkistaa tämän painamalla toistopainiketta useita kertoja, mutta edellinen ääni katoaa, kun toistat uutta ääntä. Haittoista puhuttaessa se on haitta, mutta päinvastoin, jos toistat samaa ääntä päällekkäin, äänenvoimakkuus on erittäin kova, joten se on etu siinä mielessä, että se estää sen. Edellinen ääni katoaa kuitenkin edelleen, joten äänen tyypistä riippuen se on luonnotonta.

Sinulla on oltava niin monta äänilähdettä kuin toistettavia äänityyppejä on

Koska AudioSourceen voidaan asettaa vain yksi äänileike, sinun on annettava AudioSource, koska sinulla on niin monta ääntä kuin haluat. Voit myös valmistella vain yhden äänilähteen ja vaihtaa äänileikkeen, kun toistat eri ääntä. Se on luonnotonta, koska edellinen ääni katoaa ongelman vuoksi, että kahta tai useampaa aiemmin kirjoitettua samaa ääntä ei voida toistaa samanaikaisesti.