掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Indy10 UDPClientについて〜ボイスチャット (ID:24619)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Indy10のIdUDPClientを用いて、オシロスコープを作成しています。 送信側と受信側は今のところ別のソフトになっています。 が、後に1つにまとめます。 Capture.BlockCopyなどの見慣れないメソッドは、Quadruple Dさんのコンポーネントです。 音声の取り込み、送信側オシロの表示はうまくいっているのですが 受信側オシロが全く反応してくれません。 Indyを使ったことがなかったので、おそらくそこでバグがあると思っています。 これがうまくいけば、ボイスチャットへ移行するつもりです。 どうかよろしくお願いします。 Delphi6 Personal WindowsXP //送信側// const BufferSize := 100; … procedure TForm1.ApplicationEvents1Idle(Sender: TObject; var Done: Boolean); var i:Integer; Buf:Array[0..BufferSize-1] of SmallInt; Points:Array[0..BufferSize-1] of TPoint; begin //波形の表示 … //キャンバスを塗りつぶす … //Buf配列にコピー(1/10秒分) Capture.BlockCopy(Capture.Position, @Buf[0], BufferSize * 2); //送信し、グラフを描く for i:=0 to BufferSize-1 do begin Points[i]:= Point(i+20, 50 - (Buf[i] div 256)); IdUDPClient1.Send( IntToStr(Buf[i]) ); end; Polyline(Points); end; Canvas.CopyRect(ClientRect, OffBmp.Canvas, ClientRect); Sleep(10); //繰り返し done:=False; end; //受信側// const BufferSize := 100; … procedure TForm1.ApplicationEvents1Idle(Sender: TObject; var Done: Boolean); var i : Integer; Buf : Array[0..BufferSize-1] of SmallInt; Points : Array[0..BufferSize-1] of TPoint; begin //波形の表示 … //キャンバスを塗りつぶす … //受信し、グラフを描く for i:=0 to BufferSize-1 do begin IdUDPClient1.ReceiveString( Buf[i] ); Points[i]:= Point(i+20, -50-(Buf[i] div 256)); end; Polyline(Points); end; Canvas.CopyRect(ClientRect, OffBmp.Canvas, ClientRect); Sleep(10); //繰り返し done:=False; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.