AudioImporterSampleSettings
структура в UnityEditor
Описание
Эта структура содержит набор настроек, используемых для определения того, каким образом должен быть импортирован AudioClip.
Unity использует эту структуру с AudioImporter для определения того, как импортировать и загружать AudioClip в Scene. Это полезно, если вы хотите изменить настройки импорта группы аудиоклипов на те же самые настройки программно. Вы также можете изменить их в Inspector аудиоклипа.
// This script creates a custom menu item. If you click this item, it reimports the audio files // (from a certain directory) with new import settings. The settings contain overrides for // multiple platforms (Default, Standalone, and Android).
using UnityEditor; using UnityEngine;
public class AudioImporterSampleSettingsExample : MonoBehaviour { [MenuItem("Tools/Apply Audio Overrides for Multiple Platforms")] public static void ApplyOverrides() { // Path to your audio files. Place your audio files in the following directory. string folderPath = "Assets/Sounds"; // Find all audio clips in this folder. string[] guids = AssetDatabase.FindAssets("t:AudioClip", new[] { folderPath });
// Loop through the audio clips in the folder. foreach (string guid in guids) { string assetPath = AssetDatabase.GUIDToAssetPath(guid); // Get the importer for this audio file. AudioImporter importer = AssetImporter.GetAtPath(assetPath) as AudioImporter;
// Change settings for the default platform. AudioImporterSampleSettings defaultSettings = new AudioImporterSampleSettings { loadType = AudioClipLoadType.DecompressOnLoad, compressionFormat = AudioCompressionFormat.PCM, sampleRateSetting = AudioSampleRateSetting.PreserveSampleRate, sampleRateOverride = 44100, quality = 1.0f }; importer.defaultSampleSettings = defaultSettings;
// Set override settings for Standalone platform. AudioImporterSampleSettings standaloneSettings = new AudioImporterSampleSettings { loadType = AudioClipLoadType.CompressedInMemory, compressionFormat = AudioCompressionFormat.Vorbis, sampleRateSetting = AudioSampleRateSetting.OptimizeSampleRate, quality = 0.5f }; importer.SetOverrideSampleSettings(BuildTargetGroup.Standalone, standaloneSettings);
// Set override settings for the Android platform. AudioImporterSampleSettings androidSettings = new AudioImporterSampleSettings { loadType = AudioClipLoadType.Streaming, compressionFormat = AudioCompressionFormat.ADPCM, sampleRateSetting = AudioSampleRateSetting.OptimizeSampleRate, quality = 0.6f }; importer.SetOverrideSampleSettings(BuildTargetGroup.Android, androidSettings);
// Reimport the audio file with new changes. AssetDatabase.ImportAsset(assetPath, ImportAssetOptions.ForceUpdate); Debug.Log($"Successfully applied overrides for: {assetPath}"); } } }
Свойства
| Свойство | Описание |
|---|---|
| compressionFormat | CompressionFormat определяет тип сжатия, с помощью которого кодируется аудиофайл. Различные типы сжатия имеют различные характеристики производительности и аудиоартефактов. |
| loadType | LoadType определяет, как должны загружаться импортированные AudioClip данные. |
| preloadAudioData | Предварительная загрузка аудиоданных клипа при загрузке ассета клипа. Когда этот флажок выключен, скрипты должны вызвать AudioClip.LoadAudioData() для загрузки данных перед воспроизведением клипа. Свойства, такие как длина, каналы и формат доступны до загрузки аудиоданных. |
| quality | Качество сжатия звука (0-1)Степень сжатия. Значение приблизительно соответствует соотношению между размером файла, полученного в результате сжатия, и исходного файла. |
| sampleRateOverride | Целевая частота дискретизации для преобразования, когда samplerateSetting установлено на OverrideSampleRate. |
| sampleRateSetting | Определяет, как частота дискретизации изменяется (если вообще изменяется) в аудиофайле импортера. |