在mac app中录制的噪音

时间:2011-09-23 07:51:50

标签: objective-c macos qtkit

我正在使用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;

请有人帮助我。

1 个答案:

答案 0 :(得分:0)

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

[QTCaptureDevice inputDevicesWithMediaType:QTMediaTypeSound]

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

[STCaptureDeviceInput captureDeviceInputWithDevice:audioDevice type:STCaptureDeviceAudio]

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

[_captureSession addInput:captureAudioDeviceInput error:&error]

它应该可以正常工作。