====== 파일 손실 방지 ====== 음악이나 효과음을 mp3나 ogg로 변경할 경우, * 소리가 너무 작아서 압축 과정에서 손실되는 경우 * kbs를 더 늘려서 압축해본다. ( 192 이상) * 원본보다는 더 작다. ====== 음악 (AudioSource) ====== 음악 비주얼라이져를 만들기 위한 .. 것만은 아니겠지만 **AudioSource**에 보면 관련있는 함수가 있다. ===== GetOutputData ===== void GetOutputData(float[] samples, int channel); 지금 딱 연주하는 구간의 데이터. | samples | 배열인데, 배열의 크기는 음악의 압축률과 같거나.. 달라도 상관 없나? 잘 모르겠네. \\ 128kbps 파일이면 배열 크기를 128로 잡는다. (확인필요) | | channel | 모노, 스테레오 그이상? | | ::: | 모노면 0 만 보내고, 스테레오라면 0, 1 각각 따로 파라미터로 전송해서 2번 함수를 호출해야 한다. | // 128kbps 파일이라면, 어디엔가 있는 AudioSource를 얻어 온다 손 치고 AudioSource _musicSource; // 현재 연주 구간의 데이터를 얻기 위한 데이터 변수 float[] _samples1; float[] _samples2; _samples1 = new float[128]; _samples2 = new float[128]; // 데이터를 얻는다. _musicSource.GetOutputData(_samples1, 0); _musicSource.GetOutputData(_samples2, 1); ===== GetSpectrumData ===== 음악 데이터의 스펙트럼이라는 것에 대해서 알고 있어야 하는듯한데.. 그것까지는 모르겠고. * 스펙트럼의 개수는 : (1) 2의 배수여야 하고 (2) Min=64 ~ Max=8192 라고 하네 * [[http://docs.unity3d.com/Documentation/ScriptReference/AudioSource.GetSpectrumData.html|도움말]]을 참조 // 위 챕터에서 사용한 _musicSource를 그대로 사용 float[] _spectrum; _spectrum = new float[64]; _musicSource.GetSpectrumData(_spectrum, 0, FFTWindow.Rectangular);