如何在Edison上播放音频

2015-11-291.6万
AI 快速预览详细 收起
本文介绍了如何在Edison上配置和播放音频。首先,选择一个合适的USB声卡(如Jabra UC VOICE 550a MS),然后升级Edison image,并安装ALSA工具。接着,通过`aplay -Ll`命令验证声卡是否正常识别。创建配置文件`/etc/asound.conf`,设置默认音频设备。最后,使用`aplay`命令播放音频文件。如果遇到问题,可以尝试直接指定USB声卡进行播放,例如`aplay -D hw:2,0 /home/root/Alarm01.wav`。此外,还提供了录音方法和进一步的ALSA配置参考链接。


恩,又到了小恶魔们碎觉,我等出来嘚瑟的时间了。赶紧的废话少说,直奔主题,今天跟大家一块搞定在Edison上播放声音!让我们的IOT设备更加丰富多彩。
第一步:巧妇难为无米之炊——跟老婆申请budget淘宝一个USB声卡。
恩,遗憾的是——没批!切~咱早有心理准备了。backup的方案就是,使用平时网络会议时使用的USB耳机!
我没有尝试特别多的耳机或者声卡,但我觉得,多半市面上的USB耳机都能搞的定啊。

第二步:升级Edison image,不过也不用特别的新,号称2015-5-15之后的版本就可以了。——“为啥呢……?”身后一个声音“贱贱”的回荡在耳边。好吧,似乎是因为有一个usb-snd-audio的模块被加到的kernel里面。module的真正名字叫‘snd_usb_audio’,但我用lsmod就是看不到,就在我险些刷固件的时候,忽然想起《葵花宝典》里面的一句名言——“即使不攻也能成功”。果断在插上usb耳机之后,看下dmesg,找到这么几句:
  1. [ 2079.376629] usb 1-1: new full-speed USB device number 2 using dwc3-host
  2. [ 2079.613759] usb 1-1: New USB device found, idVendor=0b0e, idProduct=0348
  3. [ 2079.613790] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
  4. [ 2079.613812] usb 1-1: Product: Jabra UC VOICE 550a MS
  5. [ 2079.613830] usb 1-1: Manufacturer: Jabra
  6. [ 2079.613848] usb 1-1: SerialNumber: 000100A1790D
  7. [ 2079.678550] usb_audio: Warning! Unlikely big volume range (=4096), cval->res is probably wrong.
  8. [ 2079.678575] usb_audio: [11] FU [Sidetone Playback Volume] ch = 1, val = 0/4096/1<6>[ 2079.841563] input: Jabra Jabra UC VOICE 550a MS as /devices/pci0000:00/0000:00:11.0/dwc3-host.2/usb1/1-1/1-1:1.3/input/input2
  9. [ 2079.843650] hid-generic 0003:0B0E:0348.0001: input,hiddev0,hidraw0: USB HID v1.00 Device [Jabra Jabra UC VOICE 550a MS] on usb-dwc3-host.2-1/input3
复制代码
好险好险~~呼~~


第三步:安装ALSA工具:alsa-utils
老方法:opkg install alsa-utils

第四步:验证一下我们的声卡是不是正常识别了:
  1. aplay -Ll
复制代码
然后会得到很多行信息,我们找到有我们耳机品牌信息的行,我的在最后一段
  1. card 1: dummyaudio [dummy-audio], device 0: 14 []
  2.   Subdevices: 1/1
  3.   Subdevice #0: subdevice #0
  4. card 1: dummyaudio [dummy-audio], device 1: ((null)) []
  5.   Subdevices: 1/1
  6.   Subdevice #0: subdevice #0
  7. card 1: dummyaudio [dummy-audio], device 2: ((null)) []
  8.   Subdevices: 1/1
  9.   Subdevice #0: subdevice #0
  10. card 2: <b>MS </b>[Jabra UC VOICE 550a MS], device 0: USB Audio [USB Audio]
  11.   Subdevices: 1/1
  12.   Subdevice #0: subdevice #0
复制代码

记住最后一段 card2: 后面的 MS,很重要!

第五步:
创建一个配置文件,告诉ALSA tools你想要的默认音频设备是什么
  1. vim /etc/asound.conf
复制代码
把下面的行添加到我们新的配置文件里面如下:
  1. pcm.!default sysdefault:MS
复制代码
注意最后那个冒号后面的MS是我的USB设备,大家需要换成自己的设备名字,就是之前那个card2后面的名字!

第六步:播放音乐!!

使用aplay播放音频:
  1. aplay /home/root/Alarm01.wav
复制代码
如果看到下面的信息,基本上就播放成功了!
  1. root@edison:~# aplay /home/root/Alarm01.wav
  2. Playing WAVE '/home/root/Alarm01.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Stereo
复制代码
如果前面没有正确设置过默认的音频输出设备,这里可以直接选择你usb声卡如下:
  1. aplay -D hw:2,0 /home/root/Alarm01.wav
复制代码

其中的hw2,0 表示card2,至于0嘛,这里总是零,就对了!

本来写到这里已经差不多了,下面是网上看到的些东东,先记在这里了:
播放mp3: mpg123
录音:  arecord
一个很棒的widi关于ALSA的:
http://www.alsa-project.org/main/index.php/Asoundrc
要是有特别的配置,可以参考下。

还有就是发现另外一篇关于Edison音频的帖子,先记在这里,供参考。
http://www.arduino.cn/forum.php? ... B%E9%9F%B3%E9%A2%91

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(12)
yoyojacky
yoyojacky
这个很高能啊!关键是,就一个USB的A口怎么破?
iooops
iooops
啊大圣!我要来抱你的大腿!!!
lianuo
lianuo
很前面啊,支持
Alvin.Lau
Alvin.Lau
不知道,我这是第几楼了
hnyzcj
hnyzcj
我头像是星座——天蝎。单位+姓名
凌风清羽
凌风清羽
大圣我们换头像吧
孙毅
孙毅
作者
回复hnyzcj
你那个头像是个啥一直想问问,还有hnyzcj啥意思,每次@你都好麻烦。。。。。好难记的名字啊。。。
孙毅
孙毅
作者
回复凌风清羽
我勒个去。。。。我内心能像大白一点。。。。暖暖哒。。。哈哈哈
共3条回复,已加载2条,点击查看更多共3条回复,已加载全部
孙毅
孙毅
作者
嗯,你这表情配的很到位
qq815076543322
qq815076543322回复孙毅
看我那个另类的作品吧 我都不敢直视了·················
qq815076543322
qq815076543322
增加“创造力”
hnyzcj
hnyzcj
大圣,这个不错。
孙毅
孙毅
作者
回复hnyzcj
大圣出品,那必须是 精儿 啊!吼吼
hnyzcj
hnyzcj
:巧妇难为无米之炊——跟老婆申请budget淘宝一个USB声卡。
kevinzhang19701
kevinzhang19701
评论内容
孙毅
孙毅
作者
强烈要求深夜发帖可以额外增加“创造力”
- 没有更多了 -