[분석하기] SpeakHere (1)
2011. 6. 2. 14:36ㆍ제2외국어/iOS
AudioViews폴더에서 LevelMeter로 소리의 크기로 표현을 해줍니다.
AQLevelMeter.h ,AQLevelMeter.mm에서
#import <AudioToolbox/AudioQueue.h>
로 소리를 측정하고
GLLevelMeter.h,GLLevelMeter.mm 에서
#import <OpenGLES/EAGL.h>
#import <OpenGLES/ES1/gl.h>
#import <OpenGLES/ES1/glext.h>
을 이용하여 그려주는 형식인 것 같습니다.
Play & Record 폴더에 있는 게 녹음 및 플레이하는 부분입니다.
실제 Clesses 에 있는 부분에서는 .xib(인터페이스) 에 연결해주는 부분만
있고 실제 기능들은 위에 있는 것을 사용합니다.
아직 다 보지 않았지만...
GLLevelMeter.m 에서 _drawView 함수 ( 크기에 맞게 그려주는 함수인듯 보입니다.) 에서
NSLog(@"%d",peakLight); 찍어 보시면 소리 크기에 따라 값이 변하는 것을 보실 수 있습니다.
(정지시 -1 부터 가장 컸을 때 29 정도의 수치를 보였습니다.)
else
{
int light_i;
CGFloat lightMinVal = 0.;
CGFloat insetAmount, lightVSpace;
lightVSpace = bds.size.height / (CGFloat)_numLights;
if (lightVSpace < 4.) insetAmount = 0.;
else if (lightVSpace < 8.) insetAmount = 0.5;
else insetAmount = 1.;
int peakLight = -1;
if (_peakLevel > 0.)
{
peakLight = _peakLevel * _numLights;
if (peakLight >= _numLights) peakLight = _numLights - 1;
}
NSLog(@"%d",peakLight);
'제2외국어 > iOS' 카테고리의 다른 글
[Objective-C]퍼즐 게임을 만들어보자. (2) (1) | 2011.06.02 |
---|---|
[Objective-C]퍼즐 게임을 만들어보자. (1) (0) | 2011.06.02 |
avTouch (소개) (0) | 2011.06.02 |
SpeakHere 소개 (0) | 2011.06.02 |
This generally means that another instance of this process was already running or is hung in the debugger. (0) | 2011.06.02 |