Описание
Представление источников звука в 3D.
AudioSource присоединен к GameObject для воспроизведения звуков в трехмерной среде. Для воспроизведения 3D-звуков вам также потребуется AudioListener. Прослушиватель аудио обычно подключается к камере, которую вы хотите использовать. Воспроизводятся ли звуки в 3D или 2D, определяется настройками AudioImporter.
Вы можете воспроизвести один аудиоклип, используя Play, Pause и Stop. Вы также можете отрегулировать его громкость во время воспроизведения с помощью свойства volume или выполнить поиск с помощью time. На одном AudioSource можно воспроизводить несколько звуков с помощью PlayOneShot. Вы можете воспроизвести клип в статической позиции в трехмерном пространстве, используя PlayClipAtPoint.
Смотрите так же: AudioListener, AudioClip, Компонент 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;
// Воспроизведение музыки
bool m_Play;
//Обнаруживает, когда вы используете переключатель, гарантирует, что музыка не будет воспроизводиться несколько раз
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()
{
//Проверяем, не установили ли вы только что переключатель в положительное положение
if (m_Play == true && m_ToggleChange == true)
{
//Play the audio you attach to the AudioSource component
m_MyAudioSource.Play();
// Убедитесь, что звук не воспроизводится более одного раза
m_ToggleChange = false;
}
//Check if you just set the toggle to false
if (m_Play == false && m_ToggleChange == true)
{
// Остановить звук
m_MyAudioSource.Stop();
// Убедитесь, что звук не воспроизводится более одного раза
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)
{
// Измените значение на true, чтобы показать, что было просто изменение состояния переключения
m_ToggleChange = true;
}
}
}
Свойства
bypassEffects | Эффекты обхода (применяются из компонентов фильтра или глобальных фильтров прослушивателя). |
bypassListenerEffects | При установке глобальных эффектов в AudioListener не будут применяться к аудиосигналу, генерируемому AudioSource. Не применяется, если AudioSource воспроизводится в группе микшера. |
bypassReverbZones | Если задано, сигнал от AudioSource не направляется в глобальную реверберацию, связанную с зонами реверберации. |
clip | Аудиоклип по умолчанию для воспроизведения. |
dopplerLevel | Устанавливает доплеровскую шкалу для этого AudioSource. |
gamepadSpeakerOutputType | Получает или задает тип аудиовыхода геймпада для данного аудиоисточника. |
ignoreListenerPause | Разрешает воспроизведение AudioSource, даже если для параметра AudioListener.pause установлено значение true. Это полезно для звуков элементов меню или фоновой музыки в меню паузы. |
ignoreListenerVolume | Это приводит к тому, что источник звука не учитывает громкость прослушивателя звука. |
isPlaying | Воспроизводится ли клип прямо сейчас (только для чтения)? |
isVirtual | True, если все звуки, воспроизводимые AudioSource (основной звук, запускаемый функцией Play() или playOnAwake, а также одиночные звуки), отбираются аудиосистемой. |
loop | Зацикливается ли аудиоклип? |
maxDistance | (Логарифмический спад) MaxDistance – это расстояние, на котором звук перестает затухать. |
minDistance | В пределах минимального расстояния громкость AudioSource перестанет увеличиваться. |
mute | Включить/отключить звук источника звука. Отключение звука устанавливает громкость = 0, включение звука восстанавливает исходную громкость. |
outputAudioMixerGroup | Целевая группа, в которую AudioSource должен направить свой сигнал. |
panStereo | Панорамирует воспроизводимый звук в стереорежиме (влево или вправо). Это относится только к звукам моно или стерео. |
pitch | Высота звука источника звука. |
playOnAwake | Если установлено значение true, источник звука автоматически начнет воспроизводиться при пробуждении. |
priority | Устанавливает приоритет AudioSource. |
reverbZoneMix | Величина, на которую сигнал от AudioSource будет микширован с глобальной реверберацией, связанной с зонами реверберации. |
rolloffMode | Устанавливает/получает, как AudioSource затухает на расстоянии. |
spatialBlend | Устанавливает степень влияния на этот AudioSource вычислений 3D-пространственности (затухание, доплеровский сдвиг и т. д.). 0.0 делает звук полностью 2D, 1.0 делает его полностью 3D. |
spatialize | Включает или отключает пространственное представление. |
spatializePostEffects | Определяет, вставляется ли пространственный эффект до или после фильтров эффектов. |
spread | Задает угол распространения (в градусах) трехмерного стереофонического или многоканального звука в пространстве динамика. |
time | Позиция воспроизведения в секундах. |
timeSamples | Позиция воспроизведения в образцах PCM. |
velocityUpdateMode | Должен ли быть обновлен источник звука при фиксированном или динамическом обновлении. |
volume | Громкость источника звука (от 0,0 до 1,0). |
Публичные Методы
DisableGamepadOutput | Отключает вывод звука на геймпад для этого источника звука. |
GetAmbisonicDecoderFloat | Считывает определяемый пользователем параметр пользовательского эффекта декодера ambisonic, присоединенного к AudioSource. |
GetCustomCurve | Получить текущую пользовательскую кривую для данного AudioSourceCurveType. |
GetOutputData | Предоставляет блок выходных данных воспроизводимого источника. |
GetSpatializerFloat | Считывает определяемый пользователем параметр пользовательского эффекта пространственного разделения, прикрепленного к AudioSource. |
GetSpectrumData | Предоставляет блок данных спектра воспроизводимого в данный момент аудиоисточника. |
Pause | Приостанавливает воспроизведение клипа. |
Play | Воспроизводит клип. |
PlayDelayed | Воспроизведение клипа с задержкой, указанной в секундах. Пользователям рекомендуется использовать эту функцию вместо старой функции Play(delay), которая принимала в качестве аргумента задержку, указанную в сэмплах, относительно эталонной частоты 44,1 кГц. |
PlayOneShot | Воспроизводит аудиоклип и масштабирует громкость AudioSource с помощью volumeScale. |
PlayOnGamepad | Включить воспроизведение источника звука через определенный геймпад. |
PlayScheduled | Воспроизведение клипа в определенное время на абсолютной временной шкале, из которой считывается AudioSettings.dspTime. |
SetAmbisonicDecoderFloat | Задает определяемый пользователем параметр пользовательского эффекта декодера ambisonic, присоединенного к AudioSource. |
SetCustomCurve | Установите пользовательскую кривую для данного AudioSourceCurveType. |
SetScheduledEndTime | Изменяет время окончания воспроизведения уже запланированного звука. Обратите внимание, что в зависимости от времени не все запросы на изменение расписания могут быть выполнены. |
SetScheduledStartTime | Изменяет время начала воспроизведения уже запланированного звука. |
SetSpatializerFloat | Задает определяемый пользователем параметр пользовательского эффекта пространственного разделения, присоединенного к AudioSource. |
Stop | Остановка воспроизведения клипа. |
UnPause | Включить приостановленное воспроизведение этого аудиоисточника. |
Статические Методы
GamepadSpeakerSupportsOutputType | Проверяет, поддерживает ли платформа тип вывода звука на геймпадах. |
PlayClipAtPoint | Воспроизводит аудиоклип в заданной позиции в мировом пространстве. |
Унаследованные члены
Свойства
enabled | Включенные поведения обновляются, отключенные — нет. |
isActiveAndEnabled | Было ли поведение активным и включенным? |
gameObject | Игровой объект, к которому прикреплен компонент. Компонент всегда привязан к игровому объекту. |
tag | Тег игрового объекта. |
transform | Transform, прикрепленный игровому объекту. |
hideFlags | Должен ли объект быть скрыт, сохранен вместе со сценой или изменен пользователем? |
name | Имя объекта |
Публичные Методы
BroadcastMessage | Вызывает метод с именем methodName для каждого MonoBehaviour в игровом объекте или любом из его дочерних элементов. |
CompareTag | Помечен ли этот игровой объект тегом? |
GetComponent | Возвращает компонент, если он прикреплён к игровому объекту, и null, если нет. Также возвращает отключенные компоненты. |
GetComponentInChildren | Возвращает компонент дочернего элемента игрового объекта, используя поиск в глубину. |
GetComponentInParent | Возвращает компонент игрового объекта в любом из его родителей. |
GetComponents | Возвращает все компоненты игрового объекта |
GetComponentsInChildren | Возвращает все компоненты дочерних элементов игрового объекта. Работает рекурсивно. |
GetComponentsInParent | Возвращает все компоненты игрового объекта любого из родителя. |
SendMessage | Вызывает метод с именем methodName для каждого MonoBehaviour в этом игровом объекте. |
SendMessageUpwards | Вызывает метод с именем methodName для каждого MonoBehaviour в этом игровом объекте и для каждого behaviour. |
TryGetComponent | Получает компонент указанного типа, если он существует. |
GetInstanceID | Возвращает идентификатор экземпляра объекта. |
ToString | Возвращает имя объекта. |
Статические Методы
Destroy | Удаляет игровой объект, компонент или актив. |
DestroyImmediate | Уничтожает объект obj. Настоятельно рекомендуется использовать Destroy. |
DontDestroyOnLoad | Не уничтожает целевой объект при загрузке новой сцены. |
FindObjectOfType | Возвращает первый активный загруженный объект. |
FindObjectsOfType | Получает список всех загруженных объектов. |
Instantiate | Клонирует исходный объект и возвращает клон. |
Операторы
bool | Объект существует? |
operator != | Сравнивает, ссылаются ли два объекта на другой объект. |
operator == | Сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же объект. |