音频源的音调。
音调使旋律升高或降低。例如,如果您播放一个音调设置为 1 的音频剪辑,则在剪辑播放时增加音调会使剪辑听起来更高。类似地,将音调降低到小于 1 会使剪辑听起来更低。当资源是音频剪辑时,音调属性被限制在 [-3..3] 范围内。当资源是 AudioRandomContainer 时,音调属性将被忽略,如果它不在 [0.0001..3.0] 范围内,控制台将显示警告。这是因为 AudioRandomContainer 不支持来自音调的反向/暂停播放。在从音频剪辑更改为 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; } }