版本: Unity 6 (6000.0)
语言English
  • C#

AudioSource.pitch

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每个建议的更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册
public float pitch;

描述

音频源的音调。

音调使旋律升高或降低。例如,如果您播放一个音调设置为 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; } }