Tek bir ses efektini çalma, duraklatma veya durdurma

Sayfa güncel :
Sayfa oluşturma tarihi :

Doğrulama ortamı

Windows
  • Pencereler 11
Birlik Editörü
  • 2021.3.3f1
Giriş Sistemi Paketi
  • 1.3.0

Bu ipucu için önkoşullar

Aşağıdaki ayarlar, bu ipucunun açıklaması için bir öncül olarak önceden yapılmıştır.

Numuneye dahil edilen malzeme hakkında

Ses efektleri aşağıdaki sitelerden ödünç alınmıştır.

Ses dosyaları hakkında

Aşağıdaki ses dosyası formatları Unity'nin standart özellikleriyle çalınabilir: Lütfen önceden hazırlayın çünkü bu ipuçlarında kullanılacaktır.

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

Daha fazla bilgi için resmi Unity belgelerine bakın.

Ses efektlerini çalma hakkında

Ses efektlerini çalmanın birkaç yolu vardır, ancak burada standart özellikleri kullanırken bunları çalmanın basit bir yolunu bulmak istiyoruz.

İçerik, bir düğmeyi düzenlemek ve düğmeyi tıklatarak oynatmak, duraklatmak ve durdurmaktır. Gerçek bir oyunda, düğmeler dışında aynı işlemi uygulayabilirsiniz.

İlk olarak, şekilde gösterildiği gibi ses efektini çalmak için bir düğme yerleştirin.

Hazırlanan ses dosyasını projenize bırakarak ekleyin.

Ardından, hiyerarşiye "Ses Kaynağı" ekleyin.

Oluşturduğunuz Ses Kaynağı'nı seçtiğinizde, Ses Kaynağı bileşeninde, yapılandırmak için projenizden bir ses dosyası bıraktığınız bir Ses Klibi vardır.

Bu arada, oyuna olduğu gibi başlarsanız, ayarladığınız ses efekti aniden oynayacaktır. Bunun nedeni, "Oyun başlangıcında oyna" seçeneğinin işaretli olmasıdır. Ses efektinin aniden çalınması olası değildir, bu nedenle bu kontrolü işaretlemeden bırakın.

Ardından, bir komut dosyası oluşturun. SoundPlayer Adı olarak bırakın.

Komut dosyası şöyle görünür:

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 daha sonra editörden ayarlanacaktır. Bu AudioSource, daha önce ayarlanmış ses efektine sahip olanıdır.

AudioSource, ve yöntemleri, böylece sırasıyla oynatabilir, duraklatabilir ve PlayPauseStop durdurabilirsiniz.

Komut dosyasını Ses Kaynağı'na ekleyebilirsiniz, ancak bu durumda EventSystem'e eklersiniz. Komut dosyanızın daha önce oluşturduğunuz Ses Kaynağı ile doldurulduğundan emin olun.

Şimdi her yöntemi üç düğmenin click olayına atayın.

İşiniz bittiğinde, oyunu çalıştırın ve ses efektlerinin oynayıp oynamadığını görün.

Oynat, duraklat ve durdur yaygın olarak kullanılan terimlerdir, bu yüzden bunları ayrıntılı olarak yazmanıza gerek yoktur, ancak aşağıdaki gibi çalıştıklarını düşünüyorum.

  • Oynat düğmesini tıklattığınızda, ses efekti yalnızca bir kez çalınır ve sonuna kadar çalınır.
  • Çalma sırasında, çalınan sesi durdurmak için duraklat düğmesini tıklatın
  • Duraklatılmışken oynat düğmesini tıklattığınızda, ses durdurulan konumdan çalınır.
  • Sesin çalınmasını durdurmak için çalma sırasında durdur düğmesine tıklayın
  • Baştan oynatmak için durdurulmuşken oynat düğmesine tıklayın
  • Duraklatma sırasında durdur düğmesine tıklamak, duraklatılan konumu serbest bırakır ve bir dahaki sefere oynadığınızda, en baştan olur.
  • Oynatma sırasında oynat düğmesine tıklarsanız, o anda çalan ses durdurulur ve en baştan çalınır.

AudioSource'u tek başına kullanmanın dezavantajları

Geçici bir çözüm vardır, ancak bu İpuçları aşağıdaki dezavantajlara sahiptir. Bu çözümleri başka bir ipucunda ele alacağız.

Aynı sesin iki veya daha fazlasını aynı anda çalamıyorum

Oynat düğmesine birden çok kez basarak bunu kontrol edebilirsiniz, ancak yeni bir ses çaldığınızda önceki ses kaybolur. Dezavantajlardan bahsetmişken, bu bir dezavantajdır, ancak aksine, aynı sesi üst üste çalarsanız, ses seviyesi çok yüksek olacaktır, bu yüzden bunu önlemesi açısından bir avantajdır. Bununla birlikte, önceki ses hala kaybolacaktır, bu nedenle sesin türüne bağlı olarak doğal olmayacaktır.

Çalmak için ses türleri olduğu kadar çok Ses Kaynağınız olmalıdır

Bir AudioSource'ta yalnızca bir ses klibi ayarlanabildiğinden, istediğiniz kadar sesiniz olduğu için bir AudioSource sağlamanız gerekir. Ayrıca yalnızca bir AudioSource hazırlayabilir ve farklı bir ses çalarken ses klibini değiştirebilirsiniz. Bu doğal değildir, çünkü daha önce yazılmış aynı sesin iki veya daha fazlasının aynı anda çalınamaması sorunu nedeniyle önceki ses kaybolur.