Unity 6.3
0 онлайн 66 гостей 3 в системе
Вход

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}"); } } }

Свойства

Свойство Описание
compressionFormatCompressionFormat определяет тип сжатия, с помощью которого кодируется аудиофайл. Различные типы сжатия имеют различные характеристики производительности и аудиоартефактов.
loadTypeLoadType определяет, как должны загружаться импортированные AudioClip данные.
preloadAudioDataПредварительная загрузка аудиоданных клипа при загрузке ассета клипа. Когда этот флажок выключен, скрипты должны вызвать AudioClip.LoadAudioData() для загрузки данных перед воспроизведением клипа. Свойства, такие как длина, каналы и формат доступны до загрузки аудиоданных.
qualityКачество сжатия звука (0-1)Степень сжатия. Значение приблизительно соответствует соотношению между размером файла, полученного в результате сжатия, и исходного файла.
sampleRateOverrideЦелевая частота дискретизации для преобразования, когда samplerateSetting установлено на OverrideSampleRate.
sampleRateSettingОпределяет, как частота дискретизации изменяется (если вообще изменяется) в аудиофайле импортера.