private async void StreamSkeleton() { try { var reader = new DataReader( Client.InputStream ); reader.InputStreamOptions = InputStreamOptions.Partial; while ( IsConnected ) { await reader.LoadAsync( 4 ); var size = reader.ReadUInt32(); await reader.LoadAsync( size ); byte[] bytes = new byte[size]; reader.ReadBytes( bytes ); MemoryStream ms = new MemoryStream( bytes ); BinaryReader br = new BinaryReader(ms); SkeletonFrameData frame = br.ReadSkeletonFrame(); SkeletonFrameReadyEventArgs args = new SkeletonFrameReadyEventArgs { SkeletonFrame = frame }; SkeletonFrame = frame; Context.Send(delegate { if(SkeletonFrameReady != null) SkeletonFrameReady(this, args); }, null); } } catch(IOException) { Disconnect(); } }
private void StreamSkeleton() { try { NetworkStream ns = Client.GetStream(); BinaryReader reader = new BinaryReader(ns); while(Client.Connected) { int size = reader.ReadInt32(); byte[] data = reader.ReadBytes(size); MemoryStream ms = new MemoryStream(data); BinaryReader br = new BinaryReader(ms); SkeletonFrameData frame = br.ReadSkeletonFrame(); SkeletonFrameReadyEventArgs args = new SkeletonFrameReadyEventArgs { SkeletonFrame = frame }; SkeletonFrame = frame; Context.Send(delegate { if(SkeletonFrameReady != null) SkeletonFrameReady(this, args); }, null); } } catch(IOException) { Client.Close(); } }
void SkeletonClient_FrameReady(object sender, FrameReadyEventArgs e) { MemoryStream ms = new MemoryStream(e.Data); BinaryReader br = new BinaryReader(ms); SkeletonFrameData frame = br.ReadSkeletonFrame(); SkeletonFrameReadyEventArgs args = new SkeletonFrameReadyEventArgs { SkeletonFrame = frame }; SkeletonFrame = frame; if(SkeletonFrameReady != null) SkeletonFrameReady(this, args); }
void client_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e) { Skeleton skeleton = (from s in e.SkeletonFrame.Skeletons where s.TrackingState == SkeletonTrackingState.Tracked select s).FirstOrDefault(); if (skeleton == null) return; player = skeleton; }
void client_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e) { Skeleton skeleton = (from s in e.SkeletonFrame.Skeletons where s.TrackingState == SkeletonTrackingState.Tracked select s).FirstOrDefault(); if(skeleton == null) return; SetEllipsePosition(headEllipse, skeleton.Joints[(int)JointType.Head]); SetEllipsePosition(leftEllipse, skeleton.Joints[(int)JointType.HandLeft]); SetEllipsePosition(rightEllipse, skeleton.Joints[(int)JointType.HandRight]); }