public static void ApplyRulesToAudioClip(AudioImporter audioClipImporter, AudioClipImportRule.AudioClipImportData data) { if (null == audioClipImporter) { return; } audioClipImporter.forceToMono = data.IsForceToMono; audioClipImporter.loadInBackground = data.IsLoadInBackground; audioClipImporter.ambisonic = data.IsAmbisonic; audioClipImporter.preloadAudioData = data.IsPreloadAudioClip; AudioImporterSampleSettings settingAndroid = audioClipImporter.GetOverrideSampleSettings("Android"); settingAndroid.compressionFormat = data.AndroidCompressionFormat; settingAndroid.loadType = data.AndroidAudioClipLoadType; settingAndroid.quality = data.Quality; audioClipImporter.SetOverrideSampleSettings("Android", settingAndroid); AudioImporterSampleSettings iPhoneAndroid = audioClipImporter.GetOverrideSampleSettings("iOS"); iPhoneAndroid.compressionFormat = data.AndroidCompressionFormat; iPhoneAndroid.loadType = data.AndroidAudioClipLoadType; iPhoneAndroid.quality = data.Quality; audioClipImporter.SetOverrideSampleSettings("iOS", iPhoneAndroid); audioClipImporter.SaveAndReimport(); }
public static void ReImportAudioClips(AudioClipImportRule.AudioClipImportData data) { if (data == null) { return; } string[] guids = AssetDatabase.FindAssets("t:AudioClip", new string[] { data.AssetPath }); for (int i = 0; i < guids.Length; i++) { string path = AssetDatabase.GUIDToAssetPath(guids[i]); if (string.IsNullOrEmpty(path)) { continue; } string dir = path.Remove(path.LastIndexOf('/')); if (!dir.Equals(data.AssetPath)) { continue; } string fileName = path.Substring(path.LastIndexOf('/') + 1); if (!data.IsMatch(fileName)) { continue; } AudioImporter audioClipImporter = AssetImporter.GetAtPath(path) as AudioImporter; if (null != audioClipImporter) { ApplyRulesToAudioClip(audioClipImporter, data); } } }
public static void AudioClipImport(AudioImporter audioClipImporter) { if (null == audioClipImporter) { return; } string dir = audioClipImporter.assetPath.Remove(audioClipImporter.assetPath.LastIndexOf('/')); string name = audioClipImporter.assetPath.Substring(audioClipImporter.assetPath.LastIndexOf('/') + 1); AudioClipImportRule.AudioClipImportData data = ImportRule.GetRule(dir, name); if (data != null) { ApplyRulesToAudioClip(audioClipImporter, data); } }