Аудио аппаратная ссылка служб
Этот документ описывает Audio Hardware Services, легкий интерфейс C для простых взаимодействий с аудио аппаратными средствами в OS X.
Существует другой аппаратный интерфейс с дополнительными функциями, известными как Аудио Уровень аппаратной абстракции или Аудио HAL. Тот интерфейс объявляется в AudioHardware.h
заголовочный файл в платформе Core Audio.
Интерфейс, описанный в этом документе, взаимодействует с объектами аудио HAL, объявленными в AudioHardware.h
.
-
Регистрирует функцию обратного вызова слушателя свойства объекта аудио HAL, которая будет вызвана, когда изменяется указанное свойство.
Объявление
Swift
func AudioHardwareServiceAddPropertyListener(_
inObjectID
: AudioObjectID, _inAddress
: UnsafePointer<AudioObjectPropertyAddress>, _inListener
: AudioObjectPropertyListenerProc, _inClientData
: UnsafeMutablePointer<Void>) -> OSStatusObjective C
OSStatus AudioHardwareServiceAddPropertyListener ( AudioObjectID inObjectID, const AudioObjectPropertyAddress *inAddress, AudioObjectPropertyListenerProc inListener, void *inClientData );
Параметры
inObjectID
Аудио HAL возражает для регистрации функции обратного вызова слушателя в.
inAddress
Свойство, когда изменено, инициировавшее вызов к Вашей функции обратного вызова слушателя.
inListener
он обратный вызов слушателя свойства для регистрации.
inClientData
Данные приложения, передающиеся Вашему обратному вызову слушателя, когда это вызывается.
Возвращаемое значение
Код результата.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
-
Получает значение для указанного свойства.
Объявление
Swift
func AudioHardwareServiceGetPropertyData(_
inObjectID
: AudioObjectID, _inAddress
: UnsafePointer<AudioObjectPropertyAddress>, _inQualifierDataSize
: UInt32, _inQualifierData
: UnsafePointer<Void>, _ioDataSize
: UnsafeMutablePointer<UInt32>, _outData
: UnsafeMutablePointer<Void>) -> OSStatusObjective C
OSStatus AudioHardwareServiceGetPropertyData ( AudioObjectID inObjectID, const AudioObjectPropertyAddress *inAddress, UInt32 inQualifierDataSize, const void *inQualifierData, UInt32 *ioDataSize, void *outData );
Параметры
inObjectID
Аудио HAL возражает для запросов.
inAddress
Свойство, значение которого Вы хотите.
inQualifierDataSize
A
UInt32
значение, указывающее размер буфера, на который указываютinQualifierData
параметр. Не все свойства требуют квалификации; в таком случае Вы устанавливаете этот параметр на0
.inQualifierData
Буфер данных, которые будут использоваться в определении значения запрашиваемого свойства. Не все свойства требуют квалификации; в таком случае Вы устанавливаете этот параметр на
NULL
.ioDataSize
На вводе, a
UInt32
значение, указывающее размер, в байтах, буфера, на который указываютoutData
параметр. На выходе размер использовавшегося буфера.outData
Буфер, в который объект аудио HAL поместит значение свойства.
Возвращаемое значение
Код результата.
Специальные замечания
Некоторые значения свойств Core Audio являются типами C, и другие являются Базовыми объектами Основы.
Если Вы вызываете эту функцию для получения значения, которое является Базовым объектом Основы, то эта функция — несмотря на использование «Get» на его имя — копирует объект. Вы ответственны за выпуск объекта, как описано в Создать Правиле в Руководстве по программированию управления памятью для Базовой Основы.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Получает размер полезной нагрузки для данного свойства.
Объявление
Swift
func AudioHardwareServiceGetPropertyDataSize(_
inObjectID
: AudioObjectID, _inAddress
: UnsafePointer<AudioObjectPropertyAddress>, _inQualifierDataSize
: UInt32, _inQualifierData
: UnsafePointer<Void>, _outDataSize
: UnsafeMutablePointer<UInt32>) -> OSStatusObjective C
OSStatus AudioHardwareServiceGetPropertyDataSize ( AudioObjectID inObjectID, const AudioObjectPropertyAddress *inAddress, UInt32 inQualifierDataSize, const void *inQualifierData, UInt32 *outDataSize );
Параметры
inObjectID
Аудио HAL возражает для запросов.
inAddress
Свойство, размер полезной нагрузки которого Вы хотите.
inQualifierDataSize
A
UInt32
значение, указывающее размер буфера, на который указываютinQualifierData
параметр. Не все свойства требуют квалификации; в таком случае Вы устанавливаете этот параметр на0
.inQualifierData
Буфер данных, которые будут использоваться в определении значения запрашиваемого свойства. Не все свойства требуют квалификации; в таком случае Вы устанавливаете этот параметр на
NULL
.outDataSize
A
UInt32
значение, указывающее размер, в байтах, полезной нагрузки для данного свойства.Возвращаемое значение
Код результата.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Запрашивает объект аудио HAL о том, имеет ли он указанное свойство.
Объявление
Swift
func AudioHardwareServiceHasProperty(_
inObjectID
: AudioObjectID, _inAddress
: UnsafePointer<AudioObjectPropertyAddress>) -> BooleanObjective C
Boolean AudioHardwareServiceHasProperty ( AudioObjectID inObjectID, const AudioObjectPropertyAddress *inAddress );
Параметры
inObjectID
Аудио HAL возражает для запросов.
inAddress
Свойство, о котором Вы спрашиваете.
Возвращаемое значение
Булево значение, указывающее, имеет ли объект аудио HAL действительно свойство (
true
) или не (false
).Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Запрашивает объект аудио HAL о том, устанавливаемо ли указанное свойство.
Объявление
Swift
func AudioHardwareServiceIsPropertySettable(_
inObjectID
: AudioObjectID, _inAddress
: UnsafePointer<AudioObjectPropertyAddress>, _outIsSettable
: UnsafeMutablePointer<Boolean>) -> OSStatusObjective C
OSStatus AudioHardwareServiceIsPropertySettable ( AudioObjectID inObjectID, const AudioObjectPropertyAddress *inAddress, Boolean *outIsSettable );
Параметры
inObjectID
Аудио HAL возражает для запросов.
inAddress
Свойство, о котором Вы спрашиваете.
outIsSettable
Булево значение, указывающее, устанавливаемо ли свойство (
true
) или не (false
).Возвращаемое значение
Код результата.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
-
Не регистрирует функцию обратного вызова слушателя свойства объекта аудио HAL.
Объявление
Swift
func AudioHardwareServiceRemovePropertyListener(_
inObjectID
: AudioObjectID, _inAddress
: UnsafePointer<AudioObjectPropertyAddress>, _inListener
: AudioObjectPropertyListenerProc, _inClientData
: UnsafeMutablePointer<Void>) -> OSStatusObjective C
OSStatus AudioHardwareServiceRemovePropertyListener ( AudioObjectID inObjectID, const AudioObjectPropertyAddress *inAddress, AudioObjectPropertyListenerProc inListener, void *inClientData );
Параметры
inObjectID
Аудио HAL возражает, чтобы не зарегистрировать функцию обратного вызова слушателя от.
inAddress
Свойство Вы больше не хотите уведомления о.
inListener
Функция обратного вызова слушателя свойства Вы удаляете.
inClientData
Данные приложения Вы указали при регистрации функции обратного вызова.
Возвращаемое значение
Код результата.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Спрашивает объект аудио HAL изменить значение указанного свойства.
Объявление
Swift
func AudioHardwareServiceSetPropertyData(_
inObjectID
: AudioObjectID, _inAddress
: UnsafePointer<AudioObjectPropertyAddress>, _inQualifierDataSize
: UInt32, _inQualifierData
: UnsafePointer<Void>, _inDataSize
: UInt32, _inData
: UnsafePointer<Void>) -> OSStatusObjective C
OSStatus AudioHardwareServiceSetPropertyData ( AudioObjectID inObjectID, const AudioObjectPropertyAddress *inAddress, UInt32 inQualifierDataSize, const void *inQualifierData, UInt32 inDataSize, const void *inData );
Параметры
inObjectID
Аудио HAL возражает для установки значения свойства на.
inAddress
Свойство для установки.
inQualifierDataSize
A
UInt32
значение, указывающее размер буфера, на который указываютinQualifierData
параметр. Не все свойства требуют квалификации; в таком случае Вы устанавливаете этот параметр на0
.inQualifierData
Буфер данных, которые будут использоваться в определении значения запрашиваемого свойства. Не все свойства требуют квалификации; в таком случае Вы устанавливаете этот параметр на
NULL
.inDataSize
A
UInt32
значение, указывающее размер буфера, на который указываютinData
параметр.inData
Буфер, содержащий данные, которые будут использоваться в качестве нового значения свойства.
Возвращаемое значение
Код результата.
Обсуждение
Свойство нельзя считать измененным, пока HAL не вызвал Ваш обратный вызов слушателя свойства. Много свойств объектов аудио HAL изменяются асинхронно.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
-
Идентификаторы свойства, применяющиеся к объектам аудио HAL только, когда получено доступ через Audio Hardware Services.
Объявление
Swift
var kAudioHardwareServiceProperty_ServiceRestarted: Int { get } var kAudioHardwareServiceDeviceProperty_VirtualMasterVolume: Int { get } var kAudioHardwareServiceDeviceProperty_VirtualMasterBalance: Int { get }
Objective C
enum { kAudioHardwareServiceProperty_ServiceRestarted = 'srst', kAudioHardwareServiceDeviceProperty_VirtualMasterVolume = 'vmvc', kAudioHardwareServiceDeviceProperty_VirtualMasterBalance = 'vmbc' };
Константы
-
kAudioHardwareServiceProperty_ServiceRestarted
kAudioHardwareServiceProperty_ServiceRestarted
Используемый, с обратным вызовом слушателя свойства объекта аудио HAL, как флаг, указывающий аппаратный перезапуск службы. Свойство
Float32
значение не имеет никакого значения. Когда аппаратная служба перезапускает, любое связанное состояние приложения, такое как кэшированные данные или обратные вызовы слушателя свойства, должно быть восстановлено.Доступный в OS X v10.5 и позже.
-
kAudioHardwareServiceDeviceProperty_VirtualMasterVolume
kAudioHardwareServiceDeviceProperty_VirtualMasterVolume
A
Float32
значение, представляющее значение регулятора громкости.Диапазон для значения этого свойства
0.0
(тишина) через1.0
(полный уровень). Эффект этого свойства зависит от устройства, связанного с объектом аудио HAL. Если устройство имеет контроль общей громкостью, это свойство управляет им. Если устройство имеет регуляторы громкости отдельного канала, это свойство применяется к идентифицированным предпочтительным многоканальным расположением устройства или предпочтительной стереопарой, если устройство является стерео только. Это управление сохраняет относительный равновесие между каналами, на которые это влияет.Доступный в OS X v10.5 и позже.
-
kAudioHardwareServiceDeviceProperty_VirtualMasterBalance
kAudioHardwareServiceDeviceProperty_VirtualMasterBalance
A
Float32
значение, представляющее значение управления стереобалансом устройства.Диапазон для значения этого свойства
0.0
(полный оставленный) через1.0
(полное право). Значение0.5
средние значения, что оба канала стереопары по умолчанию имеют равное питание. Это управление доступно только для устройств, имеющих регуляторы громкости отдельного канала.Доступный в OS X v10.5 и позже.
-