language:unity:5-사운드-오디오
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
language:unity:5-사운드-오디오 [2013/09/14 01:52] – 새로 만듦 kieuns | language:unity:5-사운드-오디오 [2024/04/23 22:44] (현재) – 바깥 편집 127.0.0.1 | ||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | ====== 파일 손실 방지 ====== | ||
+ | |||
+ | 음악이나 효과음을 mp3나 ogg로 변경할 경우, | ||
+ | * 소리가 너무 작아서 압축 과정에서 손실되는 경우 | ||
+ | * kbs를 더 늘려서 압축해본다. ( 192 이상) | ||
+ | * 원본보다는 더 작다. | ||
+ | |||
+ | ====== 음악 (AudioSource) ====== | ||
+ | |||
+ | 음악 비주얼라이져를 만들기 위한 .. 것만은 아니겠지만 **AudioSource**에 보면 관련있는 함수가 있다. | ||
+ | |||
+ | ===== GetOutputData ===== | ||
+ | |||
+ | <code csharp> | ||
+ | |||
+ | 지금 딱 연주하는 구간의 데이터. | ||
+ | |||
+ | | samples | 배열인데, | ||
+ | | channel | 모노, 스테레오 그이상? | | ||
+ | | ::: | 모노면 0 만 보내고, 스테레오라면 0, 1 각각 따로 파라미터로 전송해서 2번 함수를 호출해야 한다. | | ||
+ | |||
+ | <code csharp> | ||
+ | // 128kbps 파일이라면, | ||
+ | AudioSource _musicSource; | ||
+ | // 현재 연주 구간의 데이터를 얻기 위한 데이터 변수 | ||
+ | float[] _samples1; | ||
+ | float[] _samples2; | ||
+ | _samples1 = new float[128]; | ||
+ | _samples2 = new float[128]; | ||
+ | // 데이터를 얻는다. | ||
+ | _musicSource.GetOutputData(_samples1, | ||
+ | _musicSource.GetOutputData(_samples2, | ||
+ | </ | ||
+ | |||
+ | ===== GetSpectrumData ===== | ||
+ | |||
+ | 음악 데이터의 스펙트럼이라는 것에 대해서 알고 있어야 하는듯한데.. 그것까지는 모르겠고. | ||
+ | |||
+ | * 스펙트럼의 개수는 : (1) 2의 배수여야 하고 (2) Min=64 ~ Max=8192 라고 하네 | ||
+ | * [[http:// | ||
+ | |||
+ | <code csharp> | ||
+ | // 위 챕터에서 사용한 _musicSource를 그대로 사용 | ||
+ | float[] _spectrum; | ||
+ | _spectrum = new float[64]; | ||
+ | _musicSource.GetSpectrumData(_spectrum, | ||
+ | </ |