Захват видео с использованием AVFoundation не захватывает звук - PullRequest
2 голосов
/ 09 февраля 2011

Я использую следующий код для захвата файла фильма.К сожалению, он не захватывает звук.Нужно ли направлять микрофон в сеанс в качестве дополнительного входа?Я где-то читал, что каждая сессия может иметь только один вход?Просто не знаю, как это сделать.

    // Create the session
session = [[AVCaptureSession alloc] init];
session.sessionPreset =  AVCaptureSessionPresetMedium;
input = [AVCaptureDeviceInput deviceInputWithDevice:[self backFacingCamera] error:nil];
audioInput = [AVCaptureDeviceInput deviceInputWithDevice:[self backFacingCamera] error:nil];
if(!input){
    NSLog(@"Couldn't create input!");
}
output= [[AVCaptureMovieFileOutput alloc] init] ;
[session addInput:input];
[session addOutput:output];
[session startRunning];

1 Ответ

3 голосов
/ 19 февраля 2011

Вам необходимо специально добавить audioInput в качестве входных данных для вашего сеанса. Кроме того, ваш текущий код показывает audioInput как указывающий на камеру. Это должно указывать на аудиоустройство. Что-то вроде:

NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeAudio];

[[AVCaptureDeviceInput alloc] initWithDevice:[devices objectAtIndex:0] error:nil];
...