사용자가 시끄러운 소리를 내는지 여부에 따라 특정 작업을 수행하려고합니다. 나는 어떤 음성 인식이나 아무것도하려고하지 않고있다. iPhone이 큰 소리를 들었는지 여부에 따라 간단히 조치를 취하십시오.iPhone App Pick Up Sound
제안, 자습서, 사과 개발자 사이트에서 아무 것도 찾을 수 없습니다. 나는 내가 찾고 있거나 찾지 않고 있다고 가정하고 있습니다.
사용자가 시끄러운 소리를 내는지 여부에 따라 특정 작업을 수행하려고합니다. 나는 어떤 음성 인식이나 아무것도하려고하지 않고있다. iPhone이 큰 소리를 들었는지 여부에 따라 간단히 조치를 취하십시오.iPhone App Pick Up Sound
제안, 자습서, 사과 개발자 사이트에서 아무 것도 찾을 수 없습니다. 나는 내가 찾고 있거나 찾지 않고 있다고 가정하고 있습니다.
가장 쉬운 방법은 AudioQueue 서비스를 사용하는 것입니다. 설명서는 다음과 같습니다. Apple AQ manual
기본적으로 AudioQueueNewInput()을 사용하여 모든 예제 코드를 찾습니다. 이런 식으로 뭔가 : 당신이가는 것을 일단,이 같은 뭔가 사운드 레벨 측정을 활성화 할 수 있습니다
Status = AudioQueueNewInput(&_Description,
Audio_Input_Buffer_Ready,
self,
NULL,
NULL,
0,
&self->Queue);
:
// Turn on level metering (iOS 2.0 and later)
UInt32 on = 1;
AudioQueueSetProperty(self->Queue,kAudioQueueProperty_EnableLevelMetering,&on,sizeof(on));
당신은 오디오 데이터의 각 청크에 대해 호출되는 콜백 루틴을해야합니다 . 데시벨 수준이 충분히 오랫동안 특정 값을 초과하는 경우 감지 할 수 대신 침묵, 귀하의 경우,
//
// Check metering levels and detect silence
//
AudioQueueLevelMeterState meters[1];
UInt32 dlen = sizeof(meters);
Status = AudioQueueGetProperty(_Queue,kAudioQueueProperty_CurrentLevelMeterDB,meters,&dlen);
if (Status == 0) {
if (meters[0].mPeakPower > _threshold) {
silence = 0.0; // reset silence timer
} else {
silence += time;
}
}
//
// Notify observers of incoming data.
//
if (delegate) {
[delegate audioMeter:meters[0].mPeakPower duration:time];
[delegate audioData:Buffer->mAudioData size:Buffer->mAudioDataByteSize];
}
을 또는 : 그것에서는,이 같은으로 현재 미터 수준을 확인할 수 있습니다. 데시벨 값은 무음의 경우 약 -70.0, 매우 시끄러운 경우에는 0.0db까지 다양합니다. 기하 급수적으로 특정 애플리케이션에서 어떤 값이 작동하는지 보려면 해당 기능을 사용해야합니다.
애플은 Speak Here과 같은 코드를 가지고 있으며 데시벨과 관련된 코드를 가지고 있습니다. 몇 가지 미터 클래스에서 예제를 확인합니다. 나는 오디오 프로그래밍 경험이 없지만 누군가가 당신에게 더 나은 대답을 제공하는 동안 당신을 시작할 수 있기를 바랍니다.
안녕하세요. 내 프로젝트에서 여기에서 말하기를 사용할 수 있습니까? –
안녕하세요 @GajendraKChauhan, IANAL이므로 [소스] (https://developer.apple.com/library/ios/samplecode/SpeakHere/Listings/AudioViews_AQLevelMeter_h.html#//apple_ref/doc/)에서 면책 조항을 참조하겠습니다. uid/DTS40007802-AudioViews_AQLevelMeter_h-DontLinkElementID_3). 변호사에게 질문하는 경우 :) 더 도움이 될 수 있기를 바랍니다. – Joe
고마워, 이건 내게 많이 도움이 될거야. – Vikings