Аудио аппаратная ссылка служб
Этот документ описывает 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Свойство, значение которого Вы хотите.
inQualifierDataSizeA
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Свойство, размер полезной нагрузки которого Вы хотите.
inQualifierDataSizeA
UInt32значение, указывающее размер буфера, на который указываютinQualifierDataпараметр. Не все свойства требуют квалификации; в таком случае Вы устанавливаете этот параметр на0.inQualifierDataБуфер данных, которые будут использоваться в определении значения запрашиваемого свойства. Не все свойства требуют квалификации; в таком случае Вы устанавливаете этот параметр на
NULL.outDataSizeA
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Свойство для установки.
inQualifierDataSizeA
UInt32значение, указывающее размер буфера, на который указываютinQualifierDataпараметр. Не все свойства требуют квалификации; в таком случае Вы устанавливаете этот параметр на0.inQualifierDataБуфер данных, которые будут использоваться в определении значения запрашиваемого свойства. Не все свойства требуют квалификации; в таком случае Вы устанавливаете этот параметр на
NULL.inDataSizeA
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_ServiceRestartedkAudioHardwareServiceProperty_ServiceRestartedИспользуемый, с обратным вызовом слушателя свойства объекта аудио HAL, как флаг, указывающий аппаратный перезапуск службы. Свойство
Float32значение не имеет никакого значения. Когда аппаратная служба перезапускает, любое связанное состояние приложения, такое как кэшированные данные или обратные вызовы слушателя свойства, должно быть восстановлено.Доступный в OS X v10.5 и позже.
-
kAudioHardwareServiceDeviceProperty_VirtualMasterVolumekAudioHardwareServiceDeviceProperty_VirtualMasterVolumeA
Float32значение, представляющее значение регулятора громкости.Диапазон для значения этого свойства
0.0(тишина) через1.0(полный уровень). Эффект этого свойства зависит от устройства, связанного с объектом аудио HAL. Если устройство имеет контроль общей громкостью, это свойство управляет им. Если устройство имеет регуляторы громкости отдельного канала, это свойство применяется к идентифицированным предпочтительным многоканальным расположением устройства или предпочтительной стереопарой, если устройство является стерео только. Это управление сохраняет относительный равновесие между каналами, на которые это влияет.Доступный в OS X v10.5 и позже.
-
kAudioHardwareServiceDeviceProperty_VirtualMasterBalancekAudioHardwareServiceDeviceProperty_VirtualMasterBalanceA
Float32значение, представляющее значение управления стереобалансом устройства.Диапазон для значения этого свойства
0.0(полный оставленный) через1.0(полное право). Значение0.5средние значения, что оба канала стереопары по умолчанию имеют равное питание. Это управление доступно только для устройств, имеющих регуляторы громкости отдельного канала.Доступный в OS X v10.5 и позже.
-
