AudioSource
Описание
Представление источников звука в 3D.
Присоедините AudioSource к GameObject для воспроизведения звуков в среде 3D. Для воспроизведения звуков 3D вам также необходимо иметь AudioListener. Обычно, вы можете найти аудио слушателя, прикрепленный к камере в вашей сцене. Если вы установите AudioSource.spatialBlend Если вы установите его на 0.0f, то Unity будет рассматривать аудиоклип как звук 2D. Если вы установите его на 1.0f, то клип будет полностью 3D. Все между ними будет смесь 2D и 3D.
Чтобы воспроизвести, приостановить и остановить один аудиоклип, используйте Play, Pause и Stop. Чтобы настроить громкость во время воспроизведения, используйте volume свойство. использование time Для воспроизведения нескольких звуков на одном AudioSource, используйте PlayOneShot. Чтобы воспроизвести клип в фиксированной точке 3D-пространства, используйте PlayClipAtPoint.
Дополнительные ресурсы: AudioListener, AudioClip, AudioRandomContainer, IAudioGenerator и AudioSource компонент.
//This script allows you to toggle music to play and stop. //Assign an AudioSource to a GameObject and attach an Audio Clip in the Audio Source. Attach this script to the GameObject.
using UnityEngine;
public class Example : MonoBehaviour { AudioSource m_MyAudioSource;
//Play the music bool m_Play; //Detect when you use the toggle, ensures music isn’t played multiple times bool m_ToggleChange;
void Start() { //Fetch the AudioSource from the GameObject m_MyAudioSource = GetComponent<AudioSource>(); //Ensure the toggle is set to true for the music to play at start-up m_Play = true; }
void Update() { //Check to see if you just set the toggle to positive if (m_Play == true && m_ToggleChange == true) { //Play the audio you attach to the AudioSource component m_MyAudioSource.Play(); //Ensure audio doesn’t play more than once m_ToggleChange = false; } //Check if you just set the toggle to false if (m_Play == false && m_ToggleChange == true) { //Stop the audio m_MyAudioSource.Stop(); //Ensure audio doesn’t play more than once m_ToggleChange = false; } }
void OnGUI() { //Switch this toggle to activate and deactivate the parent GameObject m_Play = GUI.Toggle(new Rect(10, 10, 100, 30), m_Play, "Play Music");
//Detect if there is a change with the toggle if (GUI.changed) { //Change to true to show that there was just a change in the toggle state m_ToggleChange = true; } } }
Свойства
| Свойство | Описание |
|---|---|
| bypassEffects | Эффекты обхода (применяются из компонентов фильтра или глобальных фильтров слушателя). |
| bypassListenerEffects | Если установлено, глобальные эффекты на AudioListener не применяются к аудиосигналу, генерируемому AudioSource. Они также не применяются, если AudioSource воспроизводится в группе микшеров. |
| bypassReverbZones | Когда установлено, оно не направляет сигнал из AudioSource в глобальную реверберацию, связанную с зонами реверберации. |
| clip | По умолчанию AudioClip для воспроизведения. |
| dopplerLevel | Устанавливает шкалу Доплера для этого AudioSource. |
| gamepadSpeakerOutputType | Получает или устанавливает тип аудиовывода геймпада для данного источника звука. |
| generator | По умолчанию IAudioGenerator, чтобы играть дальше. |
| generatorInstance | Руководство по текущему генератору, если он может быть управляем с помощью скрипта. |
| ignoreListenerPause | Позволяет воспроизводить AudioSource даже если AudioListener.pause установлено в true. Это полезно для звуков элементов меню или фоновой музыки в меню паузы. |
| ignoreListenerVolume | Это делает источник звука не принимать во внимание громкость аудио слушателя. |
| isPlaying | Возвращает, играет ли AudioSource в настоящее время AudioResource(Read Only). |
| isVirtual | True, если все звуки, воспроизводимые AudioSource, такие как основной звук, начатый Play() или playOnAwake, и одиночные звуки отбрасываются аудиосистемой. |
| loop | Проверяет, не повторяется ли аудиоклип |
| maxDistance | Расстояние, на котором звук либо становится неслышимым, либо прекращает ослабление, в зависимости от режима отключения. |
| minDistance | В пределах Минимального расстояния AudioSource перестанет расти в громкости. |
| mute | Un- / Mutes AudioSource. Mute устанавливает volume=0, Un-Mute восстанавливает первоначальный объем. |
| outputAudioMixerGroup | Целевая группа, к которой AudioSource должен направлять свой сигнал. |
| panStereo | Поворачивает воспроизводимый звук в стерео (влево или вправо). Это применяется только к звукам, которые являются Mono или Stereo. |
| pitch | Высота источника звука. |
| playOnAwake | Включите это свойство для автоматического воспроизведения источника звука, когда компонент или GameObject становится активным. |
| priority | Устанавливает приоритет AudioSource. |
| resource | По умолчанию AudioResource для воспроизведения. |
| reverbZoneMix | Размер, на который сигнал из AudioSource будет смешан в глобальную реверберацию, связанную с Reverb Zones. |
| rolloffMode | Задает/получает как AudioSource затухает на расстоянии. |
| spatialBlend | Задает, насколько сильно этот AudioSource подвержен влиянию 3D расчетов пространственного распределения (уменьшение, доплер и т.д.). 0.0 делает звук полным 2D, 1.0 делает его полным 3D. |
| spatialize | Включает или отключает пространственную локализацию. |
| spatializePostEffects | Определяет, вставляется ли эффект пространственности перед или после фильтров эффектов. |
| spread | Указывает угол распространения (в градусах) 3D-стерео или многоканального звука в пространстве динамиков. |
| time | Позиция воспроизведения источника звука в секундах. |
| timeSamples | Текущая позиция воспроизведения AudioSource в PCM семплах. |
| velocityUpdateMode | Следует ли обновлять источник аудиосигнала при фиксированном или динамическом обновлении. |
| volume | Объем источника звука (от 0.0 до 1.0). |
Открытые методы
| Метод | Описание |
|---|---|
| DisableGamepadOutput | Отключает аудиовыход на геймпад для этого источника звука. |
| GetAmbisonicDecoderFloat | Чтение заданных пользователем параметров эффекта амбизонического декодера, который прикреплен к AudioSource. |
| GetCustomCurve | Получить текущую настраиваемую кривую для заданной AudioSourceCurveType. |
| GetOutputData | Обеспечивает блок выходных данных источника, который в данный момент воспроизводится. |
| GetSpatializerFloat | Чтение определенного пользователем параметра настраиваемого эффекта spatializer, который прикреплен к AudioSource. |
| GetSpectrumData | Обеспечивает блок аудиочастот (спектральные данные) AudioSource, который в настоящее время воспроизводится. |
| Pause | Приостанавливает воспроизведение клипа. |
| Play | Проигрывание клипа. |
| PlayDelayed | Воспроизведение клипа с задержкой, указанной в секундах. Пользователям рекомендуется использовать эту функцию вместо старой функции Play(delay), которая принимала в качестве аргумента задержку, указанную в семплах, относительно базовой частоты 44.1 kHz. |
| PlayOneShot | Воспроизведение AudioClip и масштабирование AudioSource на volumeScale. |
| PlayOnGamepad | Включите источник звука для воспроизведения через определенный геймпад. |
| PlayScheduled | Воспроизведение клипа в определенное время на абсолютной временной шкале, из которой читает AudioSettings.dspTime. |
| SetAmbisonicDecoderFloat | Устанавливает определенный пользователем параметр пользовательского амбизонического эффекта декодера, который прикреплен к AudioSource. |
| SetCustomCurve | Устанавливает пользовательскую кривую для данной AudioSourceCurveType. |
| SetScheduledEndTime | Изменяет время окончания звука, который уже был запланирован для воспроизведения. Обратите внимание, что в зависимости от времени не все запросы на перепланировку могут быть выполнены. |
| SetScheduledStartTime | Изменяет время, в которое будет воспроизводиться звук, который уже был запланирован для воспроизведения. |
| SetSpatializerFloat | Устанавливает определенный пользователем параметр настраиваемого эффекта пространственности, который прикреплен к AudioSource. |
| Stop | Прекращает воспроизведение клипа. |
| UnPause | Возобновить приостановленное воспроизведение этого AudioSource. |
Статические методы
| Метод | Описание |
|---|---|
| GamepadSpeakerSupportsOutputType | Проверьте, поддерживает ли платформа тип аудиовывода на геймпадах. |
| PlayClipAtPoint | Играет AudioClip в заданной позиции в мировом пространстве. |
Унаследованные члены 4
Свойства
| Свойство | Описание |
|---|---|
| enabled | True, если это Поведение включено, в противном случае false. |
| isActiveAndEnabled | Проверяет, включён ли компонент, прикреплен ли он к GameObject, который активен в иерархии, и вызван ли OnEnable компонента. |
| gameObject | GameObject, к которому прикреплен данный компонент. Компонент всегда прикрепляется к игровому объекту. |
| tag | Тег этого игрового объекта. |
| transform | Transform прикреплен к этому GameObject. |
| transformHandle | TransformHandle этого GameObject. |
| hideFlags | Должен ли объект быть скрытым, сохраняться с Scene или изменяться пользователем? |
| name | Имя объекта. |
Открытые методы
| Метод | Описание |
|---|---|
| BroadcastMessage | Вызывает метод с именем methodName на каждом MonoBehaviour в этом игровом объекте или любом из его дочерей. |
| CompareTag | Проверяет тег GameObject на соответствие определенному тегу. |
| GetComponent | Получает ссылку на компонент типа T на том же GameObject, что и указанный компонент. |
| GetComponentInChildren | Получает ссылку на компонент типа T на том же GameObject, что и указанный компонент, или на любого ребенка GameObject. |
| GetComponentIndex | Получает индекс компонента на его родительском GameObject. |
| GetComponentInParent | Получает ссылку на компонент типа T на том же GameObject, что и указанный компонент, или на любой родитель GameObject. |
| GetComponents | Получает ссылки на все компоненты типа T на том же GameObject, что и указанный компонент. |
| GetComponentsInChildren | Получает ссылки на все компоненты типа T на том же GameObject, что и указанный компонент, и на любого ребенка GameObject. |
| GetComponentsInParent | Получает ссылки на все компоненты типа T на том же GameObject, что и указанный компонент, и любой родитель GameObject. |
| SendMessage | Вызывает метод с именем methodName на каждом MonoBehaviour в этом игровом объекте. |
| SendMessageUpwards | Вызывает метод с именем methodName на каждом MonoBehaviour в этом игровом объекте и на каждом предшественнике поведения. |
| TryGetComponent | Получает компонент указанного типа, если он существует. |
| GetInstanceID | Получает экземпляр ID объекта. |
| ToString | Возвращает имя объекта. |
Статические методы
| Метод | Описание |
|---|---|
| Destroy | Удаляет GameObject, компонент или ресурс. |
| DestroyImmediate | Немедленно уничтожает указанный объект. Используйте с осторожностью и только в режиме редактирования. |
| DontDestroyOnLoad | Не уничтожать целевой Объект при загрузке нового Scene. |
| FindAnyObjectByType | Получает любой активный загруженный объект типа Type. |
| FindFirstObjectByType | Получает первый активный загруженный объект типа Type. |
| FindObjectsByType | Получает список всех загруженных объектов типа Type. |
| Instantiate | Клонирует исходный объект и возвращает клон. |
| InstantiateAsync | Захватывает моментальный снимок первоначального объекта (который должен быть связан с каким-либо GameObject) и возвращает AsyncInstantiateOperation. |
Операторы
| Оператор | Описание |
|---|---|
| bool | Существует ли объект? |
| оператор!= | Сравнивает, если два объекта ссылаются на разные объекты. |
| оператор == | Сравнение двух ссылок на объекты для определения того, относятся ли они к одному и тому же объекту. |