主题 : 请教MINI2440 2.6.29内核的音频全双工问题? 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 4831
精华: 0
发帖: 2
金钱: 20 两
威望: 20 点
综合积分: 4 分
注册时间: 2009-03-30
最后登录: 2012-04-12
楼主  发表于: 2009-06-08 21:57

 请教MINI2440 2.6.29内核的音频全双工问题?

原来在2.6.13内核的系统下写了一个音频的程序。用全双工模式的。一边录音一边放音,使用正常
就是用fd = open("/dev/dsp", O_RDWR)的方式使用音频设备

但换成2.6.29内核的系统。这个程序重新编译后,运行时说/dev/dsp打开的参数错误。
后来试了一下,用O_RDONLY和O_WRONLY参数就正常。但只能单工应用。新的驱动不支持O_RDWR这个参数。

看了一下驱动,2.6.13用的是OSS的。2.6.29用的好像是ALSA SOC的,我不太懂ALSA SOC的架构。但是网站上说也可以兼容OSS方式的。但为什么不支持O_RDWR参数了?

我用友善的QT里的自带程序“录音机”和“音乐”两个程序测试同时运行的方法来测试,在放音的同时可以录音,在录音的同时可以放音。就是采样频率不对,后启动的程序会使用先启动的程序的采样率。
说明2.6.29的声卡驱动是支持全双工的。

请问我在2.6.29内核上实现全双工的音频应用(类似VOIP的应用)应该用什么方式编程?
级别: 新手上路
UID: 6173
精华: 0
发帖: 32
金钱: 260 两
威望: 151 点
综合积分: 64 分
注册时间: 2009-05-22
最后登录: 2011-07-29
1楼  发表于: 2010-01-21 15:38
我也很想知道啊
级别: 新手上路
UID: 15434
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
综合积分: 4 分
注册时间: 2010-03-04
最后登录: 2010-04-26
2楼  发表于: 2010-03-30 20:17
发邮件问,说是按照里面madplay的源代码写,也不好抠出来。会的人能不能给个简单的demo啊
级别: 新手上路
UID: 17007
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
综合积分: 4 分
注册时间: 2010-03-24
最后登录: 2010-05-04
3楼  发表于: 2010-04-04 13:07
楼主能否发自己做出来的的单工部分的源码贴出来啊。,小弟也是在做这个,当时连单工都不能实现,甚是苦恼啊!
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
4楼  发表于: 2010-05-17 14:49
大家都采用的是相同的内核驱动,但应用是可以千变万化的,毕竟每个用户的需求和水平不同,这就需要发挥各自的优势了。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 新手上路
UID: 58807
精华: 0
发帖: 7
金钱: 35 两
威望: 7 点
综合积分: 14 分
注册时间: 2011-11-14
最后登录: 2011-12-11
5楼  发表于: 2011-11-22 13:16
我也出现过同样的问题,把内核烧写成 2.6.31的时候,问题就解决了