Protocol for receiving AudioSessionManager quality events. More...
Instance Methods | |
| (void) | - audioSessionManagerDidEncounterEvent:detail: |
| Called when a significant audio event occurs. More... | |
Protocol for receiving AudioSessionManager quality events.
@discussion Implement this protocol and register via addObserver: to receive mid-call audio quality notifications (underruns, overruns, interruptions, etc.).
All callbacks are dispatched on the main queue.
|
optional |
Called when a significant audio event occurs.
| eventType | One of: "underrun", "overrun", "interruptionBegan", "interruptionEnded", "mediaServicesReset", "vpioLivenessFailed", "highJitter", "sinkFrameDrop", "deviceChange". |
| detail | Event-specific fields. Always contains "timestamp" (ISO 8601 string) and "sourceHadAudio" (bool — whether any source has produced non-silent audio since registration). Per-sink events also contain "sinkMediaId", "consecutiveCount", "totalCount", "deltaCount". Jitter events contain "smoothedJitterMs". Interruption events contain "sessionWasActive". "sinkFrameDrop" events contain "sinkMediaId", "consecutiveCount", "totalCount", "totalUnderruns" (use with consecutiveCount to distinguish jitter bursts from device stress). "deviceChange" events contain "reason" (string: e.g. "NewDeviceAvailable", "OldDeviceUnavailable", "CategoryChange"), "previousSampleRateHz", "newSampleRateHz", "sampleRateChanged" (bool). |
@discussion Rate-limited for high-frequency events (underrun/overrun/jitter):