如何在局域网中实现音频的实时传输?请教!(100分)

  • 主题发起人 主题发起人 wffffc
  • 开始时间 开始时间
zhukewen:
可是当我加入(比如ACMWAVEIN。PAS)之后我原来的FORM就找不到了,那是怎么回事。
 
重新打开就好了
 
我下载了acm控件,但列子中用了twallpaper,tudpsock不知在那里
可以下载?
 
直接用MMAPI读声卡数据,GSM压缩后用UDP发送或广播
 
sofox:
你所说的方法,是不是不用ACM控件?
 
sofox:
你有按你的方法做过吗?可以通话吗?
有的话,可以传一份给我吗?
我的EMAIL:fanglingyi@163.com
万分感谢!!
 
大家可以帮我看一下下面错在那
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, NMUDP ,ACMWaveOut, ACMWaveIn, ACMDialog, StdCtrls;

type
TForm1 = class(TForm)
NMUDP1: TNMUDP;
Button1: TButton;
Button2: TButton;
ACMDialog1: TACMDialog;
ACMWaveIn1: TACMWaveIn;
ACMWaveOut1: TACMWaveOut;
procedure Button1Click(Sender: TObject);
procedure ACMWaveIn1Data(data: Pointer; size: Integer);
procedure FormCreate(Sender: TObject);
procedure NMUDP1DataReceived(Sender: TComponent; NumberBytes: Integer;
FromIP: String; Port: Integer);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
Const
BufLen:Integer=1024*1024;

Type
Buffer=Array[1..1] of char;
BufPointer=^Buffer;
Var
MemStream:TMemoryStream;
Buf:^Buffer;

procedure TForm1.FormCreate(Sender: TObject);
begin
GetMem(Buf,BufLen);
end;


procedure TForm1.Button1Click(Sender: TObject);
var format:pointer;
begin
GetMem(Buf,BufLen);
format:=ACMDialog1.OpenDialog;
if format=nil then exit;

ACMWaveIn1.Open(format);
ACMWaveOut1.Open(format);
end;

procedure TForm1.ACMWaveIn1Data(data: Pointer; size: Integer);
Var
sent,index,temp:Longint;

begin
temp:=size;
sent:=1;
Index:=1;
While sent<temp do
Begin
nmudp1.SendBuffer(BufPointer(data)[index],Temp);
sent:=sent+1;
index:=index+1;
temp:=temp-1;
End;
end;



procedure TForm1.NMUDP1DataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
Var
temp:Longint;

begin
temp:=numberbytes;
ACMWaveOut1.PlayBack(buf,temp);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
FreeMem(Buf);
ACMWaveIn1.Close;
ACMWaveOut1.Close;

end;

end.
谢谢!!
 
我下载了一个局域网的聊天程序,但是有一大部分代码不知道是什么意思,我想把语音
聊天加到这个聊天程序里,但是有一部分不知道该如何衔接,希望对这方面有兴趣的朋友
跟我联系,我可以把源代码给你们。
 
我参考别人的程序,可以实现单对单的通话,用的是nmudp,但当广播时延迟很大,快半分钟。
而且当我用两对acmin acmout时,只有一对可以工作,不知为什么。
 
ACM组件可以的,这个不容怀疑!
 
你可以用dfw搜一下,好象有很多人问过这个问题。
 
我用ACM组件实现了语音聊天功能,但是我却不知道ACM组件的具体实现过程,希望可以有
人帮我解释一下ACM的具体工作过程!
 
哪个ACM的效果不太好,感觉效率不高, 我也写了一个类似的玩意,
应该比我的效率高点,但是我的固定是使用GSM酸法,用G723。1没
有成功, acmStreamOpen可以,就是到转换的时候他说没有这个功
能,我的输入和输出的格式都是符合要求的,用acm函数得到的建议
格式,应该不会出这个问题
 
结束问题。
 
后退
顶部