acm语音通信问题300分寻求答案 急急急(300分)

  • 主题发起人 主题发起人 liuqixin
  • 开始时间 开始时间
L

liuqixin

Unregistered / Unconfirmed
GUEST, unregistred user!
我用acm做语音通信 选用udp传送 格式用gsm6.10
点对点 或者一点对多点时没有问题
我现在想实现两个人说话 第三方可以收听到两个人的声音
延迟现象严重 我还是用udp的receive事件接收 然后用acmwaveout的playback播放
这是什么原因呢
 
學習
UP
GZ
 
我看了哪个ACM控件的代码,其实他根本没用ACM,就是用的底层WAVE函数,所以
效果很差,要想有好的效果,自己用ACM转换,打开驱动,压缩,发出数据包就
行了,不过我一直没找到那种驱动效果最好...
 
G723
呵呵,小孙,我已经找到他的格式了,其实不压缩的话也行,就是要2K/S
如果压缩呢就是1K/S
 
第三方收听到语音延迟现象可能是因为 同一个缓冲区接受两个语音数据 而且
这两个语音数据还没有混音 所以延迟现象严重 我现在用acmconverter把接收到的
gsm转换成pcm可是延迟现象更严重了 是不是解压缩的时间很耗时
 
有人看到问题了吗
 
你可以用多个缓冲区啊~
把缓冲区的大小设小一点,
这样就快了,可惜,你要知道用API来写采集与压缩,
不能光用控件了
 
我用多个缓冲试过了 没有用
因为声音输出用的是waveoutwrite
而wave声道只有一个
我想是不是应该混音成一个后播放
 
各位大哥别光看不答啊分不够我可以再加
问一下mixwave的openfrommemory怎么样啊
 
压缩时间N1,传输时间N2,解压时间N3,所以听到声音的时间为N1+N2+N3=N,这个
数值一般都有2.5秒,所以...

以前我也搞过一下这方面的研究:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=421170
 
接受答案了.
 
TO张无忌:有没有比ACM好点的控件啊?找到了能不能给我一个,谢谢拉
 
后退
顶部