Version: 2021.3
public float length ;

描述

音频剪辑的长度(以秒为单位)。(只读)

//Attach an AudioSource component to a GameObject along with this script.
//Click and drag or choose an Audio clip to the AudioClip field in the AudioSource.
//Click and drag or choose a different Audio clip for the Audio Clip 2 field in the Inspector window.

//This script switches between two Audio clips and outputs each of their lengths in the console //In Play Mode, press the space key to switch between the Audio clips

using UnityEngine; using UnityEngine.Audio;

public class AudioClipLengthExample : MonoBehaviour { //Make sure your GameObject has an AudioSource component first AudioSource m_AudioSource;

//Make sure to set an Audio Clip in the AudioSource component AudioClip m_AudioClip;

//Make sure you set an AudioClip in the Inspector window public AudioClip m_AudioClip2;

void Start() { //Fetch the AudioSource from the GameObject m_AudioSource = GetComponent<AudioSource>();

//Set the original AudioClip as this clip m_AudioClip = m_AudioSource.clip;

//Output the current clip's length Debug.Log("Audio clip length : " + m_AudioSource.clip.length); }

void Update() { //Press this key to switch Audio Clips if (Input.GetKeyDown(KeyCode.Space)) { SwitchAudio(); } }

void SwitchAudio() { //If the current Audio clip is the original Audio clip, switch to the second clip if (m_AudioSource.clip == m_AudioClip) { //Switch to the second clip m_AudioSource.clip = m_AudioClip2;

//Play the second clip m_AudioSource.Play(); } //Otherwise, if the current Audio clip is the second clip, switch back else if (m_AudioSource.clip == m_AudioClip2) { //Switch back to the original Audio clip m_AudioSource.clip = m_AudioClip;

//Play the original clip m_AudioSource.Play(); }

//Ouput the length of the current Audio clip Debug.Log("Audio clip length : " + m_AudioSource.clip.length); } }