پخش همزمان چندین صدا

صفحه به روز شده :
تاریخ ایجاد صفحه :

محیط تایید

ویندوز
  • ویندوز 11
ویرایشگر یونیتی
  • دانلود: 2021.3.3f1
بسته سیستم ورودی
  • 1.3.0

پیشنیازهای این نکته

تنظیمات زیر از قبل به عنوان یک فرض برای توصیف این نکته ساخته شده است.

درباره مواد همراه با نمونه

جلوه های صوتی از سایت های زیر قرض گرفته شده است.

درباره فایل های صوتی

فرمت های فایل های صوتی زیر را می توان با ویژگی های استاندارد Unity بازی کرد: لطفا ان را از قبل اماده کنید زیرا در این نکات استفاده خواهد شد.

  • پنل های ال سی (.wav)
  • اگ ووربیس (.ogg)
  • MPEG لایه 3 (.mp3)

برای اطلاعات بیشتر، مستندات رسمی Unity را ببینید.

درباره چندین پخش صوتی همزمان

در نکات قبلی، ما از AudioSource برای پخش یک فایل صوتی استفاده کردیم، اما هنگامی که سعی کردیم یک صدا و چندین صدا ایجاد کنیم، صدای قبلی ناپدید شد. به عنوان مثال، اگر شما دو انفجار در یک بازی داشته باشید، غیر طبیعی است که اولین اثر صوتی ناپدید شود، زمانی که انفجار دوم یک اثر صوتی تولید می کند. این بخش توضیح می دهد که چگونه یک صدا را چندین بار در بالای یکدیگر پخش کنید.

مراحل برای پخش صدا در همان زمان

در اینجا، من از نقطه ای که من یک پروژه جدید ایجاد کردم توضیح می دهم، اما اگر Unity را تا حدی بشناسید، می توانید فقط بخش های مربوطه را قطع کنید و انها را حفظ کنید.

این بار، جلوه صوتی هر بار که روی دکمه کلیک می کنید پخش می شود. همانطور که نشان داده شده است، UI خود را ایجاد کنید. جزئیات مناسب و خوب است.

یک فایل صوتی را با رها کردن ان در پروژه خود اضافه کنید.

اضافه کردن منبع صوتی به سلسله مراتب. در این مورد، شما کلیپ صوتی را مستقیما به AudioSource تنظیم نمی کنید.

یک اسکریپت اضافه کنید. ButtonEvent نام را به عنوان .

فیلمنامه به این شکل است:

using UnityEngine;

public class ButtonEvent : MonoBehaviour
{
  [SerializeField] private AudioSource AudioSource;

  /// <summary>音声データ。</summary>
  [SerializeField] private AudioClip AudioClip;

  public void OnClickPlay()
  {
    // オーディオを再生します
    AudioSource.PlayOneShot(AudioClip);
  }
}

AudioSource ان را به عنوان یک کلاس برای کنترل صدا در نظر بگیرید، درست مانند راهنمایی های قبلی.

AudioClip کلاسی است که داده های صوتی را ذخیره می کند. شما می توانید فایل های صوتی را در اینجا تنظیم کنید.

AudioSource.PlayOneShot اگر ان را به عنوان یک استدلال به روش منتقل کنید، می توانید داده های صوتی را AudioClip پخش کنید. صدای پخش شده توسط این روش به طور مستقل کنترل می شود. اگر دوباره با این روش تماس بگیرید، به عنوان یک صدای جدید جدا از صدای قبلی پخش خواهد شد. بنابراین، هر بار که این روش نامیده می شود، می توان صدا را دوباره پخش کرد.

پیوست اسکریپت به سیستم رویداد.

برای "منبع صوتی"، "منبع صوتی" را به سلسله مراتب اضافه کنید.

برای "کلیپ صوتی"، یک فایل صوتی از پروژه تنظیم کنید.

در نهایت، روش را به رویداد کلیک دکمه تنظیم کنید.

اجرای بازی و کلیک بر روی دکمه. من فکر می کنم جلوه های صوتی بازی خواهد کرد. همچنین، اگر در هنگام پخش دوباره روی دکمه کلیک کنید، صدای جدید بدون ناپدید شدن صدای قبلی پخش خواهد شد.

AudioClip به این ترتیب، در حال حاضر امکان پخش همان صدا در بالای یکدیگر با پخش صدا از طریق . این اجازه می دهد تا بازی بدون صدای قبلی ناپدید غیر طبیعی بازی کند.

معایب هنگام بازی با AudioClip

AudioClip من قادر به پخش صدا در بالای یکدیگر با پخش ان با استفاده از ان بود، اما در مقابل، معایب زیر رخ می دهد.

صدا پر سر و صدا می شود

همانطور که می بینید اگر به طور مداوم روی دکمه کلیک کنید، صداها همپوشانی دارند و هارمونیک که پخش می شود بلندتر و بلندتر می شود. به عنوان مثال، اگر می خواهید یک اثر صوتی را در هنگام حمله در یک بازی پخش کنید، اگر چندین ضربه به طور همزمان بدون هیچ اقدامی رخ دهد، ممکن است با حجم غیر طبیعی پخش شود.