Audio Connector Server SDK
Übersicht
Diese Anleitung erklärt, wie Sie das Vonage Audio Connector Server SDK installieren und konfigurieren, um einen serverseitigen WebSocket-Endpunkt zu erstellen, der Echtzeit-PCM-Audio von einer Vonage Video-Sitzung sendet und empfängt. Vonage Video-Sitzung sendet und empfängt.
Verwenden Sie dieses SDK, um Live-Audiositzungen mit KI-Diensten von Drittanbietern zu verbinden - zum Beispiel, um einen KI-Assistenten aufzubauen, eine Live-Transkription durchzuführen oder eine Audioanalyse in Echtzeit vorzunehmen.
Bevor Sie beginnen
Bevor Sie das SDK installieren, vergewissern Sie sich, dass Sie Folgendes haben:
- Python auf Ihrem Server installiert
- Ein Vonage Account mit Video API-Zugang
- Eine Vonage Video-Sitzungs-ID und ein gültiges Sitzungs-Token
- (Optional) Ein SSL-Zertifikat für produktive WebSocket-Einsätze
Installieren Sie das SDK
Installieren Sie das Paket von PyPI:
Konfigurieren und Starten des Servers
Erstellen einer
AudioConnectorServerConfigmit Ihrem Host, Port, SSL-Kontext und Lebenszyklus Rückrufe:video = Video() config = AudioConnectorServerConfig( host="localhost", port=8765, ssl=ssl_context, on_start=on_start, on_stop=on_stop, on_connect=on_connect )Starten Sie den Server:
server_handle = await video.start_audio_connector_server(config)
Handhabung von Verbindungsereignissen
Im Inneren Ihres on_connect Callback, Register Message, Disconnect und Error Handler für jede
Client-Verbindung:
async def on_connect(client):
client.set_handler(
on_message=on_message,
on_disconnect=on_disconnect,
on_error=on_error
)
async def on_message(message):
print(f"Received Message")
async def on_disconnect():
print("Client Disconnected.")
async def on_error(error):
print(f"Error Occurred: {error}")
Audio zurück in die Sitzung senden
Verwenden Sie das Client-Objekt in Ihren Handlern, um Daten an die Videositzung zurückzugeben.
So senden Sie eine JSON-Kontrollnachricht:
await client.send_json_packet(string_json)
So senden Sie PCM-Audio zurück in die Sitzung:
Das SDK verwaltet das Frame-Timing und die Pufferung basierend auf bytes_per_sample und frames_ms.
Einstellung flush_buffer=True um alle gepufferten Audiodaten zu verwerfen, bevor neue Daten angehängt werden.
await client.send_audio_buffer(
audio_data,
bytes_per_sample=640,
frames_ms=20,
pad_last_frame=True,
flush_buffer=False
)
Andere verfügbare Client-Methoden:
client.info() # Retrieve connection metadata from request headers
client.flush_buffer() # Flush buffered packets to the WebSocket client
client.disconnect() # Close the WebSocket connection
Siehe auch
- Audio Connector Server SDK - Was das was das SDK ist, wie es funktioniert und wann es zu verwenden ist
- Audio-Anschluss - So streamt der Audio Connector Audio von einer Videositzung an einen WebSocket
- Vonage Audio Serialisierer für Pipecat - Verbinden Pipecat Sprach-KI-Pipelines zu Vonage-Sitzungen
- Audio Connector Server SDK Beispielanwendungen - Vollständige Arbeitsbeispiele auf GitHub