예제 #1
0
        private IEnumerator LoadAudioFromMp3(AudioAsset modAsset, string audioPath)
        {
            AudioClip clip;

            using (var reader = new AudioFileReader(audioPath))
            {
                var outputBytes = new float[reader.Length];
                reader.Read(outputBytes, 0, (int)reader.Length);
                clip = AudioClip.Create(audioPath, (int)reader.Length, reader.WaveFormat.Channels, reader.WaveFormat.SampleRate, false);
                clip.SetData(outputBytes, 0);
            }
            var audioSource = modAsset.AddComponent <AudioSource>();

            audioSource.clip = clip;
            yield return(new WaitForEndOfFrame());

            modAsset.SetAsset(audioSource);
        }
예제 #2
0
        private IEnumerator LoadAudioFromWav(AudioAsset modAsset, string audioPath)
        {
            AudioClip clip;
            var       url = "file://" + audioPath;

            using (var www = new WWW(url))
            {
                yield return(www);

                clip = www.GetAudioClip(true);
            }
            if (clip == null)
            {
                _console.WriteLine("Audio is null");
            }
            var audioSource = modAsset.AddComponent <AudioSource>();

            audioSource.clip = clip;
            yield return(new WaitForEndOfFrame());

            modAsset.SetAsset(audioSource);
        }