Получение QTKit - Отключение определенных звуковых каналов при записи
Q: Как я могу отключить определенные звуковые каналы при записи?
A: Как я могу отключить определенные звуковые каналы при записи?
Используйте QTCaptureConnectionEnabledAudioChannelsAttribute атрибут, NSIndexSet значение, указывающее, какие звуковые каналы должны быть отправлены через соединение.
Для использования атрибута работайте, сеанс (начните получать данные), и затем наблюдайте, когда изменяется описание формата соединения. Приложения могут быть уведомлены относительно изменений в формате соединения путем регистрации для получения QTCaptureConnectionFormatDescriptionDidChangeNotification уведомление как показано в Перечислении 1.
Перечисление 1 , регистрирующееся для QTCaptureConnectionFormatDescriptionDidChangeNotification уведомление.
// Register for changes to a connection's format
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(connectionFormatDidChange:)
name:QTCaptureConnectionFormatDescriptionDidChangeNotification
object:nil]; |
Как только это уведомление изменения стреляет, необходимо сначала проверить, перезаписываем ли атрибут, и затем используйте его для включения желаемых звуковых каналов на соединении.
Перечисление 2 Используя QTCaptureConnectionEnabledAudioChannelsAttribute атрибут для включения звуковых каналов на соединении.
// 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];
}
} |
Ссылки
История версии документа
| Дата | Примечания |
|---|---|
| 13.10.2008 | Новый документ, описывающий, как отключить определенные звуковые каналы при записи использующий Получение QTKit. |