2017-02-03 1 views
0

Ich empfange OSC-Signale von einem Kinect, und ich benutze einen Server, der pyOSC verwendet und auf Nachrichten lauscht, die gemeinsame Koordinaten enthalten.Zufällige OSC-Adresse pyOSC

Die Adresse des gesendeten Signals beinhaltet eine ganze Zahl fester Länge, die zufällig ist, Body-Tracking-ID; Änderungen für jeden verfolgten Körper.

Wie aufnehmen ich, dass in der OSC-Adresse, das Adressformat ist:

/Körper/{bodyID}/...

Der Server mit Fehlern reagiert, weil es nicht die Adresse erkennen kann der OSC-Nachricht, weil ich die BodyID nicht im Voraus kenne

Irgendwelche Hilfe?

+0

Welche Kinect-Software verwenden Sie? Ist es KinectV2-OSC? –

Antwort

0

Sie können eine Standard-Nachrichten-Handler definieren:

def handle_message(self, address, tags, contents, source): 
    # do some stuff with the "address" parameter. 

server = OSC.OSCServer(('localhost',8000)) 
server.addMsgHandler('default', handle_message) 

Die handle_message Funktion sollte jedes Mal eine Nachricht laufen durch die OSCServer empfangen wird, und dann können Sie die Adresse dort analysieren.

Diese Funktionalität ist in OSC.py ein wenig vergraben, aber ich denke, es funktioniert!