State Callbacks - Sanas Developer Hub

State Callbacks

State callbacks let you react to audio processor state changes in real time, without polling GetState(). You pass a callback function when creating a processor, and the SDK calls it whenever the processor transitions between states (for example, from INITIALIZING to READY, or to DISCONNECTED if the connection drops).

Without callbacks, you will not receive processor status updates automatically and will need to poll GetState() manually. Callbacks are the recommended approach for handling state changes.

Callback Signature

def state_callback(state: int, reason: str) -> None
Parameter Type Description
state int A ProcessorState enum value
reason string A human-readable reason for the state change

Example

Define a callback function and pass it when creating a processor. The SDK will call it whenever the processor state changes:

import sanas_remote_sdk

def on_state_change(state, reason):
    if state == sanas_remote_sdk.ProcessorState.READY:
        print("Processor ready for audio processing")
    elif state == sanas_remote_sdk.ProcessorState.FAILED:
        print(f"Processor failed: {reason}")
    elif state == sanas_remote_sdk.ProcessorState.DISCONNECTED:
        print(f"Processor disconnected: {reason}")

# Pass the callback when creating a processor
processor, result = sdk.CreateAudioProcessor(audio_params, on_state_change)