Yksittäisen äänitehosteen toistaminen, keskeyttäminen tai pysäyttäminen
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 Play
Pause
Stop
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.