今天领导交待新任务,做一个电台及终端设备的电脑练习及考核程序,多个电台之间要实现语音对话,这样的程序我没做过呀,对音频方面知道的也很少,大家帮我看看这样的功能能实现吗?怎么实现呀,最好给点原码,还有这样的程序大概需要多长时间能做完呢?
事关饭碗,大家一定救我呀,心急火燎中........

解决方案 »

  1.   

    truest9:我的程序在windows下运行,点对点很容易吗?能说得具体点吗?
    要是有资料或原码就更好了,我的Mail [email protected]
      

  2.   

    哈哈,为你成功保住了饭碗,分一个月工资给我啊。
    你找个ACM语音压缩控件,里面有个IPPHONE的DEMO。对你绝对有帮助。只要把里面的传输协议转换成你自己需要的协议就可以了.
    控件下载地址:http://eett.nease.net/soft.html
    如果无法下栽自己到GOOGLE搜
      

  3.   

    就是就是,烟雨说的很好
    只是那个ACM只能实现点对点,
    如果多对多的话,就会出现延迟很长的情况。
    还有你搜索ACM控件时最好用“ACMWave”搜索,
    如果实在找不到,可以发一个给你,asdc◎263。net
      

  4.   

    acm方式的每次传输延迟大概是2-3秒,AudioIO控件的延迟比较小1秒左右.你可以试试,在windows上给wave设备加个hook函数,每次采集完audio数据后就会调用这个hook,并把数传给hook,数据是pcm格式的。
      

  5.   

    感谢兄弟们的热心的,ACM我下了还没看懂,它只能点对点吗?三方可以吗?我也想知道哪里下载
      

  6.   

    用ACM控件吧,里面的延时可以改的,默认为1300ms,可以改小为65ms,效果很好的
      

  7.   

    langer1(长江后浪推前浪--前浪死在沙滩上) 我最想知道的就是这个了
    请教如何更改AMC的延时
      

  8.   

    如果要实现多对多,就是同时有超过两个人说话的情况,怎么更改ACM的延时都不能解决问题
    因为ACM控件的playback过程只是将你要播放的数据流添加进它的播放队列,如果有超过两台机器同时说话的那种,经过一段时间后,还是会造成延时的,
    但如果将接收端在同一时间(同一秒)收到的数据(比如有5台机器同时说话,那就是分别有5个一秒的声音数据)进行混音(声音合成,就是将5个一秒的声音数据混成一个一秒的声音数据),这样就能解决问题,但是我水平有限,没有能将混音问题解决,所以希望能解决混音的高手来说一下。
      

  9.   

    混音的实现可以用特定的混音合成算法,另最easy的就是用多进程来播放,就可以达到混音效果了
    修改延时,你查找 1300 这个值,我也忘记是在哪个文件夹里了
      

  10.   

    我看你还是辞职吧....要不买现成的,对别人对自己都好 hehe^^
      

  11.   

    直接用waveform api采集音频,然后找一个音频压缩库来压缩(windows 自带的就有几个可用,或者压成mp3,wma什么的),再根据你需要的网络情况发送数据,剩下的就主要是网络方面的传送问题了。至于播放多路音频,客互端解压数据后使用dsound操控二级缓冲区。大体就这样了。
      

  12.   

    CDSoftwareWj,你是说我根本做不出来?