7

我使用 buildroot 进行了自定义分发,并为 ARMv7 处理器提供了硬流程。一切正常,除了......

# arecord -D hw:0,0 -fdat -d 5 test.wav

这会产生多个文件。成千上万的人。

-rw-r--r--    1 root     root        958508 Jan  1 00:19 test-01.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-02.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-03.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-04.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-05.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-06.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-07.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-08.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-09.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-10.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-100.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-101.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-102.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-103.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-104.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-105.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-106.wav

等等...

如果我传递 -d 参数,就会发生这种情况。任何想法?

4

2 回答 2

7

从1.0.28 arecord版本 ( )开始,问题似乎出现在 ARM 架构上arecord --version。在运行 Raspbian Jessie 的 Raspberry Pi 3 上,我设法从降级alsa-utils1.0.28-11.0.25-4回滚到 Wheezy 的仓库),从而解决了问题:

  • sudo nano /etc/apt/sources.list
  • 将以下行添加到文件末尾deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
  • sudo apt-get update
  • sudo aptitude versions alsa-utils(这应该显示旧版本可用)
  • sudo apt-get install alsa-utils=1.0.25-4
  • 现在arecord --version应该显示降级版本1.0.25
  • 您现在可能想要删除您添加到 /etc/apt/sources.list 的那一行,这样您就不会从 wheezy 获得其他包
  • sudo nano /etc/apt/sources.list
  • 删除线deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
  • 再次运行 apt-get update
  • 另外,将 alsa-utils 搁置,以免升级
  • sudo apt-mark hold alsa-utils
于 2016-08-12T02:55:41.533 回答
5

另一种解决方案是将 alsa-utils 从源代码升级到最新版本 1.1.3。这就是我在树莓派 3 上的做法

  1. mkdir ~/alsa-utils
  2. cd ~/alsa-utils/
  3. wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.1.3.tar.bz2
  4. tar xvjf alsa-utils-1.1.3.tar.bz2
  5. cd ~/alsa-utils/alsa-utils-1.1.3/
  6. sudo apt-get install libncursesw5-dev
  7. ./configure --disable-alsaconf --disable-bat --disable-xmlto --with-curses=ncursesw
  8. make
  9. sudo make install
  10. arecord --version
于 2017-03-01T19:06:25.380 回答