پخش، مکث یا توقف یک اثر صوتی
محیط تایید
- ویندوز
-
- ویندوز 11
- ویرایشگر یونیتی
-
- دانلود: 2021.3.3f1
- بسته سیستم ورودی
-
- 1.3.0
پیشنیازهای این نکته
تنظیمات زیر از قبل به عنوان یک فرض برای توصیف این نکته ساخته شده است.
درباره مواد همراه با نمونه
جلوه های صوتی از سایت های زیر قرض گرفته شده است.
درباره فایل های صوتی
فرمت های فایل های صوتی زیر را می توان با ویژگی های استاندارد Unity بازی کرد: لطفا ان را از قبل اماده کنید زیرا در این نکات استفاده خواهد شد.
- پنل های ال سی (.wav)
- اگ ووربیس (.ogg)
- MPEG لایه 3 (.mp3)
برای اطلاعات بیشتر، مستندات رسمی Unity را ببینید.
درباره پخش جلوه های صوتی
راه های مختلفی برای پخش جلوه های صوتی وجود دارد، اما در اینجا ما می خواهیم شما را از طریق یک راه ساده برای پخش انها در حالی که با استفاده از ویژگی های استاندارد.
محتوا این است که ترتیب یک دکمه و بازی، مکث، و توقف با کلیک کردن بر روی دکمه. در یک بازی واقعی، شما می توانید همان فرایند را به غیر از دکمه ها اجرا کنید.
ابتدا یک دکمه برای پخش جلوه صوتی قرار دهید، همانطور که در شکل نشان داده شده است.
فایل صوتی اماده شده را با رها کردن ان در پروژه خود اضافه کنید.
بعد، "منبع صوتی" را به سلسله مراتب اضافه کنید.
هنگامی که منبع صوتی ایجاد شده را انتخاب می کنید، جزء منبع صوتی دارای یک کلیپ صوتی است که در ان شما یک فایل صوتی را از پروژه خود برای پیکربندی ان حذف می کنید.
به هر حال، اگر بازی را همانطور که هست شروع کنید، جلوه صوتی که تنظیم می کنید ناگهان پخش می شود. این به این دلیل است که "بازی در شروع بازی" بررسی می شود. بعید است که جلوه صدا به طور ناگهانی پخش شود، بنابراین این چک را بدون کنترل بگذارید.
بعد، یک اسکریپت ایجاد کنید. SoundPlayer
نام را به عنوان .
فیلمنامه به این شکل است:
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
بعدا از سردبیر تنظیم خواهد شد. این AudioSource یکی با اثر صدا تنظیم شده قبلی است.
AudioSource
، ، و روش، بنابراین شما می توانید بازی، مکث، و Play
Pause
Stop
توقف به ترتیب.
شما می توانید اسکریپت را به منبع صوتی متصل کنید، اما در این مورد ان را به EventSystem متصل می کنید. اطمینان حاصل کنید که اسکریپت شما با منبع صوتی که قبلا ایجاد کرده اید پر شده است.
اکنون هر روش را به رویداد کلیک سه دکمه اختصاص دهید.
هنگامی که شما انجام می شود، بازی را اجرا کنید و ببینید که ایا جلوه های صوتی بازی می کنند.
بازی، مکث و توقف اصطلاحات معمول استفاده می شود، بنابراین شما لازم نیست که انها را با جزئیات بنویسید، اما من فکر می کنم انها به شرح زیر کار می کنند.
- هنگامی که روی دکمه پخش کلیک می کنید، جلوه صوتی فقط یک بار پخش می شود و تا پایان پخش می شود.
- در طول پخش، روی دکمه مکث کلیک کنید تا صدای پخش شود
- هنگامی که روی دکمه پخش کلیک می کنید در حالی که متوقف می شوید، صدا از موقعیت متوقف شده پخش می شود.
- با کلیک بر روی دکمه توقف در طول پخش برای جلوگیری از پخش صدا
- کلیک بر روی دکمه بازی در حالی که متوقف به بازی از ابتدا
- کلیک کردن بر روی دکمه توقف در طول مکث، موقعیت مکث را ازاد می کند و دفعه بعد که بازی می کنید، از ابتدا خواهد بود.
- اگر در هنگام پخش روی دکمه پخش کلیک کنید، صدای پخش فعلی متوقف می شود و از ابتدا پخش می شود.
معایب استفاده از AudioSource به تنهایی
یک راه حل وجود دارد، اما این نکات دارای معایب زیر است. ما این راه حل ها را در یک نکته دیگر پوشش خواهیم داد.
نمی تواند دو یا چند صدا را همزمان پخش کند.
شما می توانید این را با فشار دادن دکمه پخش چندین بار بررسی کنید، اما صدای قبلی هنگام پخش یک صدای جدید ناپدید می شود. صحبت از معایب، این یک نقطه ضعف است، اما برعکس، اگر شما همان صدا را در بالای یکدیگر پخش کنید، حجم بسیار بلند خواهد بود، بنابراین این یک مزیت است به این معنی که مانع از ان می شود. با این حال، صدای قبلی همچنان ناپدید خواهد شد، بنابراین بسته به نوع صدا، غیر طبیعی خواهد بود.
شما باید به عنوان بسیاری از AudioSources به عنوان انواع برای تلفن های موبایل به بازی وجود دارد
از انجا که تنها یک کلیپ صوتی را می توان در یک منبع صوتی تنظیم کرد، شما باید یک منبع صوتی را ارائه دهید زیرا شما به همان اندازه که می خواهید صدا داشته باشید. شما همچنین می توانید تنها یک AudioSource اماده و تغییر کلیپ های صوتی در هنگام پخش صدا های مختلف. این غیر طبیعی است زیرا صدای قبلی به دلیل این مشکل که دو یا چند صدای مشابه نوشته شده قبل از ان نمی تواند در همان زمان پخش شود، ناپدید می شود.