AudioClip.loadInBackground
Declaration
public bool loadInBackground;Описание
Включите это свойство для загрузки AudioClip асинхронно в фоновом режиме, а не в основном потоке. Установите это свойство в Inspector (только для чтения).
Это свойство полезно, если вы загружаете много файлов или большие файлы. Если вы загружаете их в отдельном потоке от основного потока, это может помочь предотвратить падение частоты кадров. Вы не можете изменить это свойство во время выполнения, так что если вам нужно установить это свойство, выполните одно из следующих действий перед входом в режим воспроизведения:
- Включить Загрузить в фоне в 2000 году AudioClip’s Inspector.
- Используйте AudioImporter.loadInBackground.
// This script outputs the load status and the loadInBackground setting for each clip. // Attach this script to a GameObject in your Scene. // Fill the Audio Clips To Preload array with audio clips. // In each audio clip, enable Preload Asset Data in the Inspector.
using UnityEngine; using System.Collections;
public class LoadInBackgroundExample : MonoBehaviour { public AudioClip[] audioClipsToLoad;
void Start() { // Preload audio clips. StartCoroutine(LoadAudioClips()); }
private IEnumerator LoadAudioClips() { foreach (AudioClip clip in audioClipsToLoad) { // Check if the clip is set to load in the background. if (clip.loadInBackground) { Debug.Log($"Loading {clip.name} in background."); } else { Debug.LogWarning($"AudioClip {clip.name} is NOT set to load in the background."); }
// Check if the audio clip has finished loading. while (clip.loadState == AudioDataLoadState.Loading) { Debug.Log($"AudioClip {clip.name} is still loading."); yield return null; } Debug.Log($"AudioClip {clip.name} is fully loaded."); } Debug.Log("Loading complete."); } }