Eén geluidseffect afspelen, onderbreken of stoppen
Verificatieomgeving
- Ramen
-
- Voor Windows 11
- Unity Editor
-
- 2021.3.3f1
- Input systeem pakket
-
- 1.3.0
Vereisten voor deze tip
De volgende instellingen zijn vooraf gemaakt als uitgangspunt voor de beschrijving van deze tip.
Over het materiaal dat bij het monster is geleverd
Geluidseffecten zijn geleend van de volgende sites.
Informatie over audiobestanden
De volgende audiobestandsindelingen kunnen worden afgespeeld met de standaardfuncties van Unity: Bereid het van tevoren voor, want het zal in deze tips worden gebruikt.
- WAV (.wav)
- OggVorbis (.ogg)
- MPEG laag 3 (.mp3)
Zie voor meer informatie de officiële Unity-documentatie.
Informatie over het afspelen van geluidseffecten
Er zijn verschillende manieren om geluidseffecten af te spelen, maar hier willen we u door een eenvoudige manier leiden om ze te spelen terwijl u de standaardfuncties gebruikt.
De inhoud is om een knop te rangschikken en af te spelen, te pauzeren en te stoppen door op de knop te klikken. In een echt spel kun je hetzelfde proces implementeren, behalve knoppen.
Plaats eerst een knop om het geluidseffect af te spelen zoals weergegeven in de afbeelding.
Voeg het voorbereide geluidsbestand toe door het in uw project te plaatsen.
Voeg vervolgens "Audio Source" toe aan de hiërarchie.
Wanneer u de audiobron selecteert die u hebt gemaakt, heeft het onderdeel Audiobron een audioclip, waarin u een audiobestand uit uw project neerzet om het te configureren.
Trouwens, als je het spel start zoals het is, wordt het geluidseffect dat je instelt plotseling afgespeeld. Dit komt omdat "Speel bij het starten van het spel" is aangevinkt. Het is onwaarschijnlijk dat het geluidseffect plotseling wordt afgespeeld, dus laat deze controle niet aangevinkt.
Maak vervolgens een script. SoundPlayer
Laat de naam staan als .
Het script ziet er als volgt uit:
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
wordt later ingesteld door de editor. Deze audiobron is degene met het geluidseffect eerder ingesteld.
AudioSource
, en methoden, zodat u respectievelijk kunt afspelen, pauzeren en Play
Pause
Stop
stoppen.
U kunt het script koppelen aan de audiobron, maar in dit geval koppelt u het aan het gebeurtenissysteem. Zorg ervoor dat uw script is gevuld met de audiobron die u eerder hebt gemaakt.
Wijs nu elke methode toe aan de klikgebeurtenis van de drie knoppen.
Als je klaar bent, voer je het spel uit en kijk je of de geluidseffecten worden afgespeeld.
Afspelen, pauzeren en stoppen zijn veelgebruikte termen, dus je hoeft ze niet in detail te schrijven, maar ik denk dat ze als volgt werken.
- Wanneer u op de afspeelknop klikt, wordt het geluidseffect slechts één keer afgespeeld en tot het einde afgespeeld.
- Klik tijdens het afspelen op de pauzeknop om te voorkomen dat het geluid wordt afgespeeld
- Wanneer u op de afspeelknop klikt terwijl u bent gepauzeerd, wordt het geluid afgespeeld vanuit de gestopte positie.
- Klik op de stopknop tijdens het afspelen om het afspelen van het geluid te stoppen
- Klik op de afspeelknop terwijl u bent gestopt om vanaf het begin te spelen
- Als u tijdens de pauze op de stopknop klikt, wordt de gepauzeerde positie losgelaten en de volgende keer dat u speelt, is dit vanaf het begin.
- Als u tijdens het afspelen op de afspeelknop klikt, wordt het momenteel afgespeelde geluid gestopt en vanaf het begin afgespeeld.
Nadelen van het gebruik van AudioSource alleen
Er is een tijdelijke oplossing, maar deze Tips heeft de volgende nadelen. We zullen deze oplossingen in een andere tip behandelen.
Kan niet twee of meer van hetzelfde geluid tegelijkertijd afspelen
U kunt dit controleren door meerdere keren op de afspeelknop te drukken, maar het vorige geluid verdwijnt wanneer u een nieuw geluid afspeelt. Over nadelen gesproken, het is een nadeel, maar integendeel, als je hetzelfde geluid op elkaar afspeelt, zal het volume erg luid zijn, dus het is een voordeel in de zin dat het het voorkomt. Het vorige geluid zal echter nog steeds verdwijnen, dus afhankelijk van het type geluid zal het onnatuurlijk zijn.
U moet zoveel audiobronnen hebben als er soorten geluiden zijn om af te spelen
Aangezien er slechts één audioclip kan worden ingesteld in een audiobron, moet u een audiobron opgeven omdat u zoveel geluiden hebt als u wilt. U kunt ook slechts één audiobron voorbereiden en de audioclip wijzigen wanneer u een ander geluid afspeelt. Het is onnatuurlijk omdat het vorige geluid verdwijnt vanwege het probleem dat twee of meer van hetzelfde geluid dat eerder is geschreven, niet tegelijkertijd kunnen worden afgespeeld.