Beispiel #1
0
        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();
        }
Beispiel #2
0
 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);
         }
     }
 }
Beispiel #3
0
        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);
            }
        }