2010-07-30 3 views
3

볼륨이 특수 레벨에 도달하면 이미 음성 녹음을 시작합니다 하지만 단점이 있습니다. 녹음을 시작하면 이미 1/2 초 정도를 놓친 것입니다 문장 말하기는 첫 번째 단어를 놓칠 것이다.iPhone 시작 음성으로 오디오 녹음

어떤 아이디어 (좋은 예 포함).

은 처음 듣기 시작하고 평균적으로 peakpower를 얻을 말할 수 있습니다, 내가보기보다 저역 통과

[recorder updateMeters]; ALPHA = 0.05; 
peakPowerForChannel = pow(10, (0.05 * [recorder peakPowerForChannel:0])); 
averagePowerForChannel = pow(10, (0.05 * [recorder averagePowerForChannel:0])); 
lowPassResults = ALPHA * peakPowerForChannel + (1.0 - ALPHA) * lowPassResults; 
averagePassResults = ALPHA * averagePowerForChannel + (1.0 - ALPHA) * averagePassResults; 

큰 소리로

if (peakPowerForChannel > 0.08f)) -> start recording 

그리고 만약 기록

는 값보다 지금 내가 가장 평균 오히려, peakpower을 듣고있다 발견에 대한

(peakPowerForChannel < 0.01f) -> stop record, start listening again 

을 중지합니다. 하지만 여전히 괜찮지 않아. 나는 또한 모든 시간에 녹음하는 일종의 템포 리가 있다고 생각 했었고, 최고점이 충분히 높았을 때부터 지금부터 2 초가 걸렸습니다. 그런 것 같지만 여기에서는 깨달을 방법을 모른다. 따라서 실용적인 제안을 환영합니다.

덕분에 크리스

+0

안녕하세요 @ 크리스티안 뮬러 저는 같은 문제가 있습니다. 만약 당신이 어떤 솔루션을 발견했다면 나와 함께 공유 할 수 있습니다 ..... [email protected] – Johnykutty

답변

0

당신이 말했듯이, 지속적으로 전력 레벨에 도달하고 무기한 녹화가 시작되면 무한정 확장 짧은 1/2 초 덩어리를 기록합니다. 녹음이 멈 추면 누락 된 1/2s 오프닝을 포함해야합니다.

+0

이론적으로는 알지만 어떻게 실현합니까? 지금 당장은 내가 가지고있다. \t recorder = [[AVAudioRecorder alloc] initWithURL : RecordUrlPfad settings : settings error : & error]; 그래서 어디서 어떻게 버퍼링해야하고 나중에 오디오 파일로 추출해야합니까 :) 어떤 소스가 도움이 될 것입니다. –