嵌入式LINUX下 alsa库移植

最近在忙于一个项目,在嵌入式开发板(CS1800)上用alsa-lib捕获摄像头音频。以下是一点心得,写出来既防止自己日后忘记,也希望能给从事这方面的同志们一点帮助。

一、确保设备正确安装

      当开发板上捕获到有摄像头的音频设备时,会在/dev目录下创建三个设备(这个可能要视情况而定,我的实验是三个设备),即pcmC0D0c、controlC0、timer。

二、创建目录/dev/snd,并建立相应符号链接

      这一步具体原因我自己也不是很清楚,可能alsa-lib默认访问设备节点时,是在这个目录里面吧。

      创建符号链接

      ln -s /dev/pcmC0D0c  /dev/snd/pcmC0D0c

      ln -s /dev/controlC0    /dev/snd/controlC0

      ln -s /dev/timer           /dev/snd/timer

三、alsa-lib的移植

     1、 解压 tar xvjf alsa-lib-1.0.22.tar.bz2
           cd alsa-lib-1.0.22
           ./configure --host=arm-linux CC=arm-linux-gcc   --prefix=/home/thirdlib  --enable-static --enable-shared  --disable-     python --with-configdir=/usr/local/share --with-plugindir=/usr/local/lib/alsa_lib

 
           在这里要注意 --with--configdir的选项。它将影响ALSA_CONFIG_DIR 目录。它默认是你的--prefix目录。在libasoud.so运行时

           会报以下错误:  
                     ALSA lib pcm.c:2145:(snd_pcm_open_noupdate) Unknown PCM default(此处为alsa-lib打印)

                     audio open error: No such file or directory(此处为应用层打印)
           一般都是ALSA_CONFIG_DIR路径错误造成的。

           --with-plugindir也是同样的道理,它是设为 ALSA_PLUGIN_DIR变量。

 

           这一步过后,将会生成Makefile。

     2、编译安装alsa-lib

          make;make install

     3、拷贝share目录到开发板上

          在上面设置了 --with-configdir,那么当libasoud.so运行时就会在/usr/local/share目录下去找相应的配置文件。所以我们还需要将

          这个配置文件拷贝到share目录下。

          

          该配置文件就是在make install后,在安装目录下(即/home/thirdlib)的share/alsa目录,alsa.conf文件。所以我们将share这个

          目录整个拷贝到开发板上的/usr/local/share目录中即可。

 

到此,大功告成。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值