|
Q: How can I disable specific audio channels when recording?A: Use the IMPORTANT: The To use the attribute, run the session (start capturing data) and then observe when the format description of the connection changes. Applications can be notified of changes to a connection’s format by registering to receive the // Register for changes to a connection's format [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(connectionFormatDidChange:) name:QTCaptureConnectionFormatDescriptionDidChangeNotification object:nil]; Once this change notification fires, you should first check if the attribute is writable, and then use it to enable the desired audio channels on the connection. // This method called when the connection format changes - (void)connectionFormatDidChange:(NSNotification *)notification { // You may now use the QTCaptureConnectionEnabledAudioChannelsAttribute // attribute to enable audio channels for the connection [self enableAudioChannelsForConnection:[self myAudioCaptureConnection]]; } // Specify the audio channels that should be used on the connection -(void) enableAudioChannelsForConnection:(QTCaptureConnection *)captureConnection { // Make sure attribute is writeable before we use it if ([captureConnection attributeIsReadOnly: QTCaptureConnectionEnabledAudioChannelsAttribute] == NO) { NSRange channelIndexes; channelIndexes.location = 0; channelIndexes.length = 2; NSIndexSet *channelIndexSet = [NSIndexSet indexSetWithIndexesInRange:channelIndexes]; // Example: enable audio channels 1,2 (only) for the connection [captureConnection setAttribute:channelIndexSet forKey:QTCaptureConnectionEnabledAudioChannelsAttribute]; } } ReferencesTechnical Q&A QA1607 QTKit Capture - Disabling Audio Or Video When Capturing From a Muxed Device Document Revision History
Posted: 2008-10-13 |
|