1

我正在使用 QTKit 进行录制和播放,但是当我录制的结果文件有很多噪音(气压)时。

我在用

QTCaptureDevice *audioDevice = [QTCaptureDevice defaultInputDeviceWithMediaType:QTMediaTypeSound];

并捕获会话

captureSession = [[QTCaptureSession alloc] init];

还有这些

QTCaptureDecompressedAudioOutput    *captureAudioDataOutput;

    AudioUnit                   effectAudioUnit;
    ExtAudioFileRef             extAudioFile;

    AudioStreamBasicDescription currentInputASBD;
    AudioBufferList             *currentInputAudioBufferList;

还有这些线(可能是这里有噪音的原因)

/* Create an effect audio unit to add an effect to the audio before it is written to a file. */
    OSStatus err = noErr;

    AudioComponentDescription effectAudioUnitComponentDescription;
    effectAudioUnitComponentDescription.componentType= kAudioUnitType_Effect;
    effectAudioUnitComponentDescription.componentSubType = 0;
    effectAudioUnitComponentDescription.componentManufacturer = kAudioUnitManufacturer_Apple;
    effectAudioUnitComponentDescription.componentFlags = 0;
    effectAudioUnitComponentDescription.componentFlagsMask = 0;

请有人帮助我。

4

1 回答 1

0

如果设置正确,您应该不会听到任何噪音。基本上,您根本不需要设置音频设备。你需要得到一个并使用它。系统中可用的音频设备列表可以从 QTCaptureDevice 类获得:

[QTCaptureDevice inputDevicesWithMediaType:QTMediaTypeSound]

选择您需要的并获取它的音频输入:

[STCaptureDeviceInput captureDeviceInputWithDevice:audioDevice type:STCaptureDeviceAudio]

在录制之前将输入设置为捕获会话:

[_captureSession addInput:captureAudioDeviceInput error:&error]

它应该可以工作。

于 2011-10-17T11:20:02.483 回答