AudioSource.pitch
Declaration
public float pitch;Описание
Высота источника звука.
Интенсивность делает мелодию выше или ниже. Например, если вы проигрываете аудиоклип с установленной интонацией 1, увеличение интонации при проигрывании клипа сделает клипы звучащие выше. Аналогичным образом, уменьшение интонации ниже 1 сделает клипы звучащие ниже. Когда resource является AudioClip, свойство интонации зажимается в диапазоне [-3..3]. Когда resource является AudioRandomContainer, свойство интонации игнорируется, и если оно не находится в диапазоне [0.0001..3.0], в консоли появляется предупреждение. Это происходит потому, что AudioRandomContainer не поддерживает обратное/паузовое воспроизведение от интонации. Любые значения вне этого диапазона зажимаются при изменении из AudioClip в AudioRandomContainer.
//Attach this script to a GameObject. //Attach an AudioSource to your GameObject (Click Add Component and go to Audio>Audio Source). Choose an audio clip in the AudioClip field. //This script sets the pitch of the audio at the start, and then gradually turns it down to 0 as time passes.
using UnityEngine;
//Make sure there is an Audio Source component on the GameObject [RequireComponent(typeof(AudioSource))]
public class ExampleScript : MonoBehaviour { public int startingPitch = 4; public int timeToDecrease = 5; AudioSource audioSource;
void Start() { //Fetch the AudioSource from the GameObject audioSource = GetComponent<AudioSource>();
//Initialize the pitch audioSource.pitch = startingPitch; }
void Update() { //While the pitch is over 0, decrease it as time passes. if (audioSource.pitch > 0) { audioSource.pitch -= Time.deltaTime * startingPitch / timeToDecrease; } } }
Еще один пример:
using UnityEngine;
// A script that plays your chosen song. The pitch starts at 1.0. // You can increase and decrease the pitch and hear the change // that is made.
public class AudioExample : MonoBehaviour { public float pitchValue = 1.0f; public AudioClip mySong;
private AudioSource audioSource; private float low = 0.75f; private float high = 1.25f;
void Awake() { audioSource = GetComponent<AudioSource>(); audioSource.clip = mySong; audioSource.loop = true; }
void OnGUI() { pitchValue = GUI.HorizontalSlider(new Rect(25, 75, 100, 30), pitchValue, low, high); audioSource.pitch = pitchValue; } }