모바일 레벨의 오디오 녹음이 에서 시작되어 오디오 레벨 미터를 시작하기 위해 AVAudioRecorder
을 찾을 수없는 공급 업체의 프레임 워크를 사용하고 있습니다. , 주 화면에 표시됩니다.iOS AVAudioSession, AVAudioRecorder 오디오 레벨 측정기에 액세스하는 방법
어떤 힌트 또는 제안 어떻게 이것을 달성 할 수 있습니까?
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeAudio completionHandler:^(BOOL granted) {
if (granted) {
dispatch_async(self.audioSessionQueue, ^{
NSError *error;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryRecord error:&error];
[[AVAudioSession sharedInstance] setActive:YES error:&error];
self.audioCaptureSession = [[AVCaptureSession alloc] init];
[self.audioCaptureSession beginConfiguration];
AVCaptureDevice *audioCaptureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio];
AVCaptureDeviceInput *audioCaptureDeviceInput = [AVCaptureDeviceInput deviceInputWithDevice:audioCaptureDevice error:&error];
if ([self.audioCaptureSession canAddInput:audioCaptureDeviceInput])
{
[self.audioCaptureSession addInput:audioCaptureDeviceInput];
}
else
{
NSLog(@"Couldn't add audio capture device input.");
[self.audioCaptureSession commitConfiguration];
return;
}
[self.audioCaptureReader setResultsDelegate:self queue:dispatch_get_main_queue()];
[self.audioCaptureSession addOutput:self.audioCaptureReader.captureOutput];
[self.audioCaptureSession commitConfiguration];
[self.audioCaptureSession startRunning];
}
나는 'AVAudioSession'이 오디오 레벨 미터를 제공하지 않을 것이라고 생각하지만, 캡처 세션에'AVCaptureAudioDataOutput'을 추가하고 레벨을 직접 계산할 수 있습니다. –
AVCaptureAudioDataOutput에 대해 자세히 설명해 주시겠습니까? –
오디오 'AVCaptureDevice'에서 오디오 샘플을 보내드립니다. 샘플을 사용하여 레벨을 계산할 수 있습니다. –