Възпроизвеждане, пауза, спиране и лупинг на фонова музика
Среда за проверка
- Уиндоус
-
- Прозорци 11
- Редактор на единство
-
- 2021.3.3f1
- Пакет на входната система
-
- 1.3.0
Предпоставки за този съвет
Следните настройки са направени предварително като предпоставка за описанието на този съвет.
За материала, включен в пробата
BGM е заимстван от следния сайт.
За аудио файловете
Следните аудио файлови формати могат да се възпроизвеждат със стандартните функции на Unity: Моля, подгответе го предварително, защото ще бъде използван в тези съвети.
- ОгВорбис (.ogg)
- MPEG слой 3 (.mp3)
За повече информация вижте официалната документация на Unity.
За възпроизвеждането на BGM
Има няколко начина за възпроизвеждане на фонова музика, но тук искаме да обясним как да я възпроизвеждаме по прост начин, докато използваме стандартните функции.
Съдържанието е да подредите бутон и да играете, да направите пауза и да спрете, като кликнете върху бутона. В реална игра можете да приложите същия процес, различен от бутоните.
Първо, поставете бутон, за да играете BGM, както е показано на фигурата.
Добавете подготвения аудио файл, като го пуснете в проекта си.
След това добавете "Аудио източник" към йерархията.
Когато изберете аудиоизточника, който сте създали, компонентът "Аудио източник" има аудиоклип, в който пускате аудиофайл от вашия проект, за да го конфигурирате.
Между другото, ако започнете играта такава, каквато е, BGM, който сте задали, изведнъж ще играе. Това е така, защото се проверява "Играй в началото на играта". Ако искате да го играете веднага в началото на сцената, няма проблем, какъвто е, но този път няма да се играе веднага, така че оставете тази проверка непроверена.
След това създайте скрипт. MusicPlayer
Оставете името като .
Сценарият изглежда така:
using UnityEngine;
public class MusicPlayer : MonoBehaviour
{
[SerializeField] private AudioSource AudioSource;
public void OnClickPlay()
{
// オーディオを再生します
AudioSource.Play();
}
public void OnClickPause()
{
// オーディオを一時停止します
AudioSource.Pause();
}
public void OnClickStop()
{
// オーディオを停止します
AudioSource.Stop();
}
}
AudioSource
ще бъде зададен по-късно от редактора. Този аудиоизточник е този с аудио файла, който току-що вмъкнахте.
AudioSource
, , и методи, така че да можете да възпроизвеждате, поставяте на пауза и Play
Pause
Stop
спирате съответно.
Можете да прикачите скрипта към аудио източника, но в този случай ще го прикачите към EventSystem. Уверете се, че скриптът ви е попълнен с аудиоизточника, който създадохте по-рано.
Сега задайте всеки метод на събитието за кликване на трите бутона.
След като настроите, стартирайте играта и вижте дали фоновата музика се възпроизвежда.
Play, пауза и спиране са често използвани термини, така че не е нужно да ги пишете подробно, но мисля, че те работят по следния начин.
- Когато щракнете върху бутона за възпроизвеждане, фоновата музика се възпроизвежда само веднъж и се възпроизвежда до края.
- По време на възпроизвеждане щракнете върху бутона за пауза, за да спрете възпроизвеждането на звука
- Когато щракнете върху бутона за възпроизвеждане, докато сте на пауза, звукът се възпроизвежда от спряно положение.
- Щракнете върху бутона за спиране по време на възпроизвеждането, за да спрете възпроизвеждането на звука
- Щракнете върху бутона за възпроизвеждане, докато сте спрели да играете от самото начало
- Щракването върху бутона за спиране по време на паузата ще освободи поставената на пауза позиция и следващия път, когато играете, ще бъде от самото начало.
- Ако щракнете върху бутона за възпроизвеждане по време на възпроизвеждане, изпълняваният в момента звук се спира и се възпроизвежда от самото начало.
Възпроизвеждане на цикъл
Той възпроизвежда фонова музика по подразбиране и спира автоматично, когато се възпроизвежда до края. Ако искате да циклирате фоновата музика и да продължите да възпроизвеждате, проверете "Loop" в компонента Audio Source и той ще продължи да се възпроизвежда многократно, докато не натиснете бутона за спиране.
Съдържанието на възпроизвеждането на звуковия ефект е същото
Ако вече сте виждали съветите от страната на звуковия ефект, може би сте забелязали, че звуковият ефект и фоновата музика могат да се възпроизвеждат със същите настройки. В зависимост от рамката на играта, обработката на звукови ефекти и фонова музика може да бъде отделна, но Unity ви позволява да играете и двете с една и съща обработка.
За явлението, че фоновата музика спира, когато прозорецът е деактивиран
По подразбиране, когато други прозорци са активни и екранът на играта е деактивиран, самата игра е на пауза. Заедно с това се спира и възпроизвеждането на фоновата музика.
За да избегнете това, можете да го настроите да се изпълнява във фонов режим в настройките на проекта, така че фоновата музика да не се прекъсва.