private async Task GetWave(int i) { try { ClassroomData classroomData = new ClassroomData(list[i].PPCPublicIP, list[i].PPCPort); string xml = await classroomData.GetAudioData(null, null, list[i].ClassroomID, null, null); byte[] bytes = await classroomData.GetBinary(xml); Stream t = new FileStream("video.wav", FileMode.Create); BinaryWriter b = new BinaryWriter(t); b.Write(bytes); t.Close(); } catch (Exception) { throw; } }
private Task UpdatePictureBox(PictureBox p, Label label, Panel panel, string value, int i) { CancellationTokenSource tokenSource = (CancellationTokenSource)panel.Tag; return(Task.Run(async() => { while (true) { if (tokenSource.Token.IsCancellationRequested) { break; } try { ClassroomData data = new ClassroomData(list[i].PPCPublicIP, list[i].PPCPort); string xml = await data.GetImageString(null, null, list[i].ClassroomID, null, null, int.Parse(value)); byte[] bytes = await data.GetBinary(xml); using (MemoryStream loadStream = new MemoryStream(bytes, 0, bytes.Length)) { Action action = () => { p.Image = Image.FromStream(loadStream); }; p.SafeInvoke(action, true); Thread.Sleep(2000); } } catch (Exception ex) { Action action = () => { label.Text = ex.Message; label.BackColor = Color.Red; }; label.SafeInvoke(action, true); } finally { p.Image = null; } } }, tokenSource.Token)); }