<!--
{
  "availability" : [
    "macCatalyst: -",
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreAudio",
  "identifier" : "/documentation/CoreAudio/AudioObjectPropertyListenerProc",
  "metadataVersion" : "0.1.0",
  "role" : "Type Alias",
  "symbol" : {
    "kind" : "Type Alias",
    "modules" : [
      "Core Audio"
    ],
    "preciseIdentifier" : "c:@T@AudioObjectPropertyListenerProc"
  },
  "title" : "AudioObjectPropertyListenerProc"
}
-->

# AudioObjectPropertyListenerProc

```
typealias AudioObjectPropertyListenerProc = (AudioObjectID, UInt32, UnsafePointer<AudioObjectPropertyAddress>, UnsafeMutableRawPointer?) -> OSStatus
```

## Parameters

`inObjectID`

The AudioObject whose properties have changed.

`inNumberAddresses`

The number of elements in the inAddresses array.

`inAddresses`

An array of AudioObjectPropertyAddresses indicating which properties
changed.

`inClientData`

A pointer to client data established when the listener proc was registered
with the AudioObject.

## Return Value

The return value is currently unused and should always be 0.

## Discussion

\abstract Clients register an AudioObjectPropertyListenerProc with an AudioObject in order
to receive notifications when the properties of the object change.
\discussion Listeners will be called when possibly many properties have changed.
Consequently, the implementation of a listener must go through the array of
addresses to see what exactly has changed. Note that the array of addresses will
always have at least one address in it for which the listener is signed up to
receive notifications about but may contain addresses for properties for which
the listener is not signed up to receive notifications.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)