日期:2014-05-16  浏览次数:20999 次

linux 使用USB设备录音
我之前使用OSS的audio和dsp设备可以录音,但老大说要用一个USB麦设备,使用USB麦设备用audio和dsp还是可以录音,但老大说要用audio1和dsp1,就插入USB麦后才生成的音频设备文件,可是相同的代码可以打开audio1,就是读取不了数据,总返回resource temporarily unavailable错误,几天了!!两者之间的访问有什么区别的吗?还是要什么特别的设置?谢谢了!!

------解决方案--------------------
/dev/audio ------ 第一个音频设备类似于 /dev/audio0
/dev/audio1 ------ 第二个音频设备

确认音频设备都是好的?访问都没有什么区别。

resource temporarily unavailable表示当前设备不可用。

每次只能有一个进程打开音频设备,确保访问的时候,也就是程序运行时后,没有其它进程在打开。
可以这样子查看
$ sudo fuser -v /dev/audio1
确保输出信息只有一个进程。
比如我对/dev/ttyUSB1设备
$ sudo fuser -v /dev/ttyUSB1
USER PID ACCESS COMMAND
/dev/ttyUSB1: root 2373 F.... minicom

这只是举一个例子。你的/dev/audio1输出可能不同。

如果确定了是只有一个进程访问,而还是出现resource temporarily unavailable的错误。
尝试在你的BIOS设置当中禁用了/dev/audio,你就是你系统默认的音频设备,再看看结果。
------解决方案--------------------
没看懂啊!!!!
------解决方案--------------------
关注一下~
------解决方案--------------------
探讨

在red hat 下audio1竟然打都打不开啊!!!
open时 Invalid argument 错误

------解决方案--------------------
我这边外扩6个usb声卡呢,教你命令录放吧:
录音是:arecord -D plughw:1 -f S16_LE -r 44100 -t wav -c 1 -d 10 test6.wav
放音:aplay -D plughw:1 test1.wav
这里录音是10秒