LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1753|回复: 9

请问,怎样实现基于Linux alsa 的语音双向聊天程序?

[复制链接]
发表于 2008-1-21 20:01:47 | 显示全部楼层 |阅读模式
我在Linux 下用基于alsa库,编写语音聊天程序,可是,我发现,在同一时刻,只能录音或播放,不能同时进行,在网上找了好久,都没有相关的资料,想请问哪位大侠碰到过类似问题,指点一下。
发表于 2008-1-22 00:41:38 | 显示全部楼层
你是分两个进程来录音和播放么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-22 11:43:12 | 显示全部楼层

在同一个程序的 两个线程中。

在同一个程序的 两个线程中,我想一个线程用来读音频数据,然后,另一个线程用来播放数据。需要同时进行,即要同时打开录音和播放,不然,会有延迟。可是,我发现,在同一时刻,只能打开一个,要么只能录音,然后关闭录音,然后播放,然后再关闭播放,再打开录音。。。只能这样,可是,这样的话,会有延迟。请教高手。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-23 15:25:58 | 显示全部楼层
自己顶上来,希望哪位大哥,指点一下。谢谢拉。
回复 支持 反对

使用道具 举报

发表于 2008-1-23 17:47:33 | 显示全部楼层
我记得alsa好像是独占的。。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-25 10:16:39 | 显示全部楼层
自己已经解决了。不过还是谢谢LS各位了 。
快过年了。祝新年快乐。
回复 支持 反对

使用道具 举报

发表于 2008-1-26 04:08:30 | 显示全部楼层
Post by jshzw;1810920
自己已经解决了。不过还是谢谢LS各位了 。
快过年了。祝新年快乐。


解决了怎么也不简略地说一下解决办法呢?难道需要保密的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-26 17:21:04 | 显示全部楼层
呵呵。资源当然要共享的阿。
解决方法:在代码中,不要用缺省的default设备,用plugin设备打开就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-26 17:24:45 | 显示全部楼层
基于alsa的编程资料,在国内网站搜比较少,建议到国外网站上找。我一开始,就只搜索中文网,所以,找了很久也找不到解决办法,后来,在国外的 一个网站上找到的 解决方法。呵呵。方法就是如上所述啦。
回复 支持 反对

使用道具 举报

发表于 2008-2-11 15:09:00 | 显示全部楼层
如果给 gaim(新名字记不住) 做个插件就好了。呵呵,语聊的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表