<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PushToTalk",
  "identifier" : "/documentation/PushToTalk/PTChannelManagerDelegate/channelManager(_:didActivate:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Push to Talk"
    ],
    "preciseIdentifier" : "c:objc(pl)PTChannelManagerDelegate(im)channelManager:didActivateAudioSession:"
  },
  "title" : "channelManager(_:didActivate:)"
}
-->

# channelManager(_:didActivate:)

Tells the observer the audio session activated.

```
func channelManager(_ channelManager: PTChannelManager, didActivate audioSession: AVAudioSession)
```

## Parameters

`channelManager`

The channel manager.

`audioSession`

The audio session that activated.

## Discussion

Before recording and transmitting audio, wait for the framework to call this method. The framework calls the method when the audio session is active and set to the correct priority, and allows for recording audio even if the app is in the background. The framework doesn’t call the method if the channel transmission mode is [`PTTransmissionMode.fullDuplex`](/documentation/PushToTalk/PTTransmissionMode/fullDuplex), and already has an active audio session because it’s receiving audio from a remote participant when a transmission begins.

---

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)