分页: 1 / 1

为何用arecord可以录音,但用录音机和audacity都不行?(基本解决)

发表于 : 2007-01-19 17:52
lisir
我的声卡是NF61V(Nvidia C61V芯片组)集成的Realtek ALC861声卡,安装的是Ubuntu 6.06,内核 是自行编译的2.6.19.1,因为系统自带的驱动不行,所以安装的驱动是从www.alsa-project.org下载的1.0.14RC1,声音播放正常,听歌看片都没问题,但是还是无法正常录音。
我在论坛里看了好多帖子,有可以正常录音的网友大都可以在属性中有Mic Boost这一项,我的却没有,使用alsamixer命令查看我现在的设置如附图。
但是根据http://forum.ubuntu.org.cn/viewtopic.php?t=37980&highlight=%E5%BD%95%E9%9F%B3帖子中提到的http://www.sabi.co.uk/Notes/linuxSoundALSA.html 中的指示用

代码: 全选

arecord -D plughw:0,0 -f S16_LE -c 2 -r 22050 record2.wav
命令来录音,却可以录音。但是用系统自带的录音机时,却提示:“无法打开资源读取”,且“从输入录制”后只能是“抓取”,没有其它选项。用audacity也不行,点录音后几秒就自动关闭,且表示录音的红指示条往前一跳一跳的,但始终不能前进。

如果说机器真无法录音,但怎么使用

代码: 全选

arecord -D plughw:0,0 -f S16_LE -c 2 -r 22050 record2.wav
可以录音呢,好像这是直接使用ALSA的,但这个毕竟不方便呀,有哪位dx清楚,请指点一下,谢谢!

在音量控制窗口的文件菜单下的更改设备处有两个选项,默认为:“0:HDA NVidia(Alsa mixer)”,还有一个是“1:Realtek ALC861(OSS Mixer)”,如果更改为1还是无法使用录音机录音。
l

代码: 全选

isir@ubuntu:~$ amixer contents
numid=6,iface=MIXER,name='Headphone Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=22,iface=MIXER,name='PCM Playback Volume'
  ; type=INTEGER,access=rw---RW-,values=2,min=0,max=255,step=0
  : values=28,28
  | dBscale-min=-51.00dB,step=0.20dB,mute=0
numid=10,iface=MIXER,name='Front Mic Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=9,iface=MIXER,name='Front Mic Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=23,step=0
  : values=17,17
  | dBscale-min=-36.00dB,step=3.00dB,mute=0
numid=1,iface=MIXER,name='Front Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=2,iface=MIXER,name='Surround Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=3,iface=MIXER,name='Center Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=4,iface=MIXER,name='LFE Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=12,iface=MIXER,name='Line Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=11,iface=MIXER,name='Line Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=23,step=0
  : values=0,0
  | dBscale-min=-36.00dB,step=3.00dB,mute=0
numid=14,iface=MIXER,name='CD Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=13,iface=MIXER,name='CD Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=23,step=0
  : values=0,0
  | dBscale-min=-36.00dB,step=3.00dB,mute=0
numid=8,iface=MIXER,name='Mic Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=7,iface=MIXER,name='Mic Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=23,step=0
  : values=17,17
  | dBscale-min=-36.00dB,step=3.00dB,mute=0
numid=16,iface=MIXER,name='Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=15,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=13,step=0
  : values=9,9
  | dBscale-min=-6.00dB,step=3.00dB,mute=0
numid=18,iface=MIXER,name='IEC958 Playback Con Mask'
  ; type=IEC958,access=r-------,values=1
  : values=?
numid=19,iface=MIXER,name='IEC958 Playback Pro Mask'
  ; type=IEC958,access=r-------,values=1
  : values=?
numid=20,iface=MIXER,name='IEC958 Playback Default'
  ; type=IEC958,access=rw------,values=1
  : values=?
numid=21,iface=MIXER,name='IEC958 Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=17,iface=MIXER,name='Input Source'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 'Mic'
  ; Item #1 'Front Mic'
  ; Item #2 'Line'
  ; Item #3 'CD'
  : values=0
numid=5,iface=MIXER,name='Side Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on

代码: 全选

lisir@ubuntu:/proc/asound$ cat cards
 0 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xfe028000 irq 17
lisir@ubuntu:/proc/asound$ cat devices
  0: [ 0]   : control
 16: [ 0- 0]: digital audio playback
 17: [ 0- 1]: digital audio playback
 24: [ 0- 0]: digital audio capture
 33:        : timer
lisir@ubuntu:/proc/asound$ cat modules
 0 snd_hda_intel
lisir@ubuntu:/proc/asound$ cat pcm
00-01: ALC861 Digital : ALC861 Digital : playback 1
00-00: ALC861 Analog : ALC861 Analog : playback 1 : capture 2
lisir@ubuntu:/proc/asound$ cat timers
G0: system timer : 1000.000us (10000000 ticks)
P0-0-0: PCM playback 0-0-0 : SLAVE
P0-0-1: PCM capture 0-0-1 : SLAVE
P0-0-3: PCM capture 0-0-3 : SLAVE
P0-1-0: PCM playback 0-1-0 : SLAVE

代码: 全选

lisir@ubuntu:/proc/asound/card0$ arecord -l
**** CAPTURE硬件设备列表 ****
卡 0: NVidia [HDA NVidia], 设备 0: ALC861 Analog [ALC861 Analog]
  子设备: 2/2
  子设备:#0: subdevice #0
  子设备:#1: subdevice #1

发表于 : 2007-01-19 21:16
lisir
再次实验,用arecord可以录音,简单的使用arecord -f cd record.wav可以正常录音,但还是无法使用系统自带的录音机和audacity录音。

基本知道怎么回事了

发表于 : 2007-01-20 16:06
lisir
基本知道怎么回事了。

今天又在网上搜了搜,看到国外一论坛中提到 与此类似 现象时有人说,用arecord试试,如果不行,就是ALSA配置不好,如果可以,则是gstreamer的问题,最好升级一下。我的既然可以用arecord正常录音,至少说明ALSA配置正常,可能是gstreamer的问题。但看了看,源里自带的gstreamer是0.10.7版的。但并没有从网上找到更新的版本。

而在一个网站上看到说是系统自带的录音机程序对中文支持不好,需要用LANG= gnome-sound-recorder 来运行。但我原来在终端执行时却没有任何反应。

就在网上四处乱逛时发现,说是在系统-首选项下可以直接打开多媒体选择器,但我的不知怎么却没有。想到可以用Alacarte菜单编辑器调整,就想打开菜单编辑器,却不料点击后只是在下方面板上闪动了一下就退出了,都没进去。想想原来直接在菜单上点右键也是如此,看来是不知怎么搞得无法运行了。忽然想起可以在终端运行看看是什么出错信息,于是在终端运行alacarte,这次发现了,没有.config/menus目录。建一个:

代码: 全选

mkdir -p .config/menus
,结果不行,说是"No such file or direction",一步步来,

代码: 全选

mkdir .config
这时提醒说已经存在,用cat一看,才想起是原来编译内核时将原来的配置文件备份到家目录下了, :oops: 改名,重新建立目录,这时就可以正常运行菜单编辑器了。
这里正常后,忽然想到会不会也是这个.config的问题,才使得原来在多媒体选择器(gstreamer-properties)中默认输入插件设置为ALSA时无法通过测试,提示什么无法建立流水线,再次打开多媒体系统选择器,将默认输入插件设置为ALSA(实际原来就是这个)后,测试,怪了,这次正常了。

这里好了,大局已定,再打开录音机,还是“无法打开资源读取”,哦,我忘了,是要在英文环境下运行,还是在终端输入LANG= gnome-sound-recorder,好了,这次出来英文版的录音机了,试了试,确实没问题,可以正常录音了。

但在Audacity中,还是点击录音后几秒就自动退出,应该是另有问题,我再一点点解决吧。

总结一下:
1、最大的收获是:文件千万不要乱放啊,尤其是这种.开头的文件,一不小心就会与某个东东冲突的。最好归类存放。
2、在终端下多次使用alsamixer调整声卡配置,算是比较熟悉了,也知道怎样能使录音效果最好了。还有就是终端下的录音和播放程序arecord和aplay和使用。

到现在,我的机器摄像头、录音都可以正常使用了,正在变得越来越好。

希望可以给与我有类似问题的朋友以帮助。

发表于 : 2007-01-20 16:16
lisir
不过我的在录音机程序中始终在“从输入录制”后只有个“抓取”,还有就是在音量控制中也没有见到"Mic Boost"。

发表于 : 2007-01-20 21:35
lisir
编译安装了1.3.2版的audacity后,可以在设置中选择ALSA了,再试试录音,没问题了~~哈哈

一开始我的问题也是不能录音,新建一个文件再录就可以了

发表于 : 2007-03-04 12:58
andrew.luo
一开始我的问题也是不能用录音机录音,报未指定读取的文件名,后来点新建再录就可以了