我正在运行 Ubuntu 11.10,并且尝试使用 xvidcap 录制带有麦克风音频的屏幕录像,但是它无法录制任何声音:
$ xvidcap --file appo.avi --cap_geometry 700x500-0+0
Error accessing sound input from /dev/dsp
Sound disabled!
果然根本/dev/dsp
不存在:
$ sudo ls -lh /dev/dsp
ls: cannot access /dev/dsp: No such file or directory
我找到了一篇关于修复 xvidcap 声音输入但是如果我尝试这个建议,我会得到:
$ sudo modprobe snd-pcm-oss
FATAL: Module snd_pcm_oss not found.
所以问题是,我如何才能创建 /dev/dsp
?
问题背后的问题是:如何使用 xvidcap 录制麦克风的声音?因此也欢迎解决方法。
更新:我听从了詹姆斯的建议,有些事情已经有所改善。
错误访问/dev/dsp
已消失,但是现在我得到:
[oss @ 0x8e0c120] Estimating duration from bitrate, this may be inaccurate
xtoffmpeg.c add_audio_stream(): Can't initialize fifo for audio recording
现在,当我录制时,xvidcap
在录制选项卡中会出现“录制”对话框pavucontrol
,我可以选择“来自内部音频模拟立体声”或“内部音频模拟立体声监视器”的音频流,我为了以防万一都尝试了,但视频仍然是静音的。
更新2:我发现“Monitor of”是录制应用程序声音的,而对于麦克风,我应该选择“Internal Audio Analog Stereo”。为了排除其他问题,例如麦克风,我尝试了,gnome-sound-recorder
并且成功了。实际上,我吓得从椅子上跳了起来,因为音量太大了!:-)
答案1
该/dev/dsp
设备属于过时的OSS 声音 API,现已被阿尔萨斯大学API。OSS API 已于去年从内核中删除(请参阅错误 #579300)
假设应用程序没有使用 ALSA API 的选项,那么可能解决问题的一个选项是在 下运行该应用程序padsp
,它会将 OSS API 调用重定向到脉冲音频守护进程。也就是说,不是运行xvidcap
,而是运行padsp xvidcap
。
答案2
另一个解决方案是安装 osspd 来模拟 pulseaudio 下的 oss。
sudo apt-get install osspd
此后,我的 /dev/dsp 可以用来捕获麦克风,例如将音频输出保存到文件。
cat /dev/dsp > mic.out