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

  • 主题发起人 主题发起人 wffffc
  • 开始时间 开始时间
W

wffffc

Unregistered / Unconfirmed
GUEST, unregistred user!
我要做一个小程序,要求在局域网中以方用麦克说话,其他多人可以接受。
我初步考虑了两种方案:
1,发放将声音路成一秒为单位的小包(可以有横小的延时),进行发送。
2,设置一台服务器,发方向服务器中写,同时收方读。
不知大家又和高见,且本人是初学者,望大家可以指点详细一些,不胜感激!
 
下载ACM空间
 
要注意的问题:
1。声音实时采样/回放:建议用 DirectX Audio 或者 mmtools 包里的控件。
2。声音编码/解码:有精力就去做ACM,离散余弦变换 DCT。。。有很多流媒体压缩的文章可看
3。通讯: 建议基于 TCP (UDP也可以,局域网多方通讯可以考虑利用广播优化),注意留出足够的 Buffer 防止以外的通讯阻赛。

其中 2 是难点, Delphi 上现成的东西好象比较少。
 
能否介绍更详细一点,我也要做一个这方面的东西,但是不知道如何实现语音的实时传输,
请指教!
 
高手^^^^^

关注中
搬个凳子坐着学~~~~
 
用ACM控件,它自带了个IPHONE的例子,你只要稍微修改一下就可以进行局域网内的通话了。要实现多台机器同时接收的话,
最好不要用UDP广播,用服务器转也行,不过太罗嗦了,你可以用组播,同一组播地址的机器才可以收到。
 
目前,我也在作这个程序,
我也下了ACM控件和IPHOME的例子(用的是UDP协议),
但是照着例子作就是不能通话运行。
不知道还要做什么修改才能进行局域网的通话?是否与硬件有关?
请求[blue]seagod007[/blue]指点一下。万分感谢!!!
 
to fly8466
ACM自带的IPHONE不能运行还是不能编译?如果不能运行就要具体问题具体分析了
 
编译通过了,
运行时,在delphi6里会出现一个提示信息;
但在delphi7里却运行得好好的,就是机子之间不能通话。
 
我用了iphone例子,直接运行exe文件可以,调试状态下ACMDialog.OpenDialog执行有误,不知何故?
还有acm控件不能播放已录好的wav文件并传输到其它机器上啊,不知如何解决。
 
看到这莫多人回答,我很感谢大家,希望大家继续提出宝贵的意见。
前两天我请教了一个高手,他告诉我先用acm再用mci,单这两方面我都一窍不通。
有没有好的资料可以推荐一下?
或者原码可以借鉴,wangfei-5@sohu.com谢谢!
 
TO ynhhr
那是因为你没有安装好ACM的控件。
 
TO [blue]wffffc[/blue]
请问mci是什么意思?ACM是属第三方控件,可以直接使用,为什么要用MCI?
 
to seagod007
我看到你在源码空间的留言了,
他那个IP电话使用的ACM控件是‘深度历险’(vcl.vclxx.org)提供的第三方控件吗?
他的程序可以通话吗 ?
 
请问如何加载ACM控件?请指教!
 
zhukewen:
请问如何装载ACM控件,我下载了ACM控件但不知道该如何装载,请你多多指教!
 
[components]->[Install Components]
找到相应的.pas,后面你旧该会了。
 
各位老大:
哪儿有acm控件下!指点一下!
 
到‘深度历险“---http;//vcl.vclxx.org
就可以下到ACM控件了
 
后退
顶部