好不容易把 madplay 的x86版本弄好了,兴冲冲的把一首歌考进去 测试,运行madplay的时候 出现了“audio: /dev/dsp: No such file or directory ” 这样的错误。
通过google 搜索得知,是因为ubuntu 没有安装声卡的原因,接下来首先要先把 ubuntu的声卡安装好。
root@ubuntu:/opt/FriendlyARM/mini2440/madplay/target-x86/bin# ./madplay qqqg.mp3
MPEG Audio Decoder 0.15.2 (beta) - Copyright © 2000-2004 Robert Leslie et al.
audio: /dev/dsp: No such file or directoryroot@ubuntu:/opt/FriendlyARM/mini2440/madplay/target-x86/bin# lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)
00:0f.0 VGA compatible controller: VMware SVGA II Adapter
00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)
00:11.0 PCI bridge: VMware PCI bridge (rev 02)
00:15.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.7 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.7 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.7 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.7 PCI bridge: VMware PCI Express Root Port (rev 01)
02:00.0 USB Controller: VMware USB1.1 UHCI Controller
02:01.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10)
02:02.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 02)
02:03.0 USB Controller: VMware USB2 EHCI Controller
root@ubuntu:/opt/FriendlyARM/mini2440/madplay/target-x86/bin#
接下来寻找ensoniq es1371 for ubuntu driver 。
找到一个博文 按照这样的方法可以播放音乐,我就没有继续追踪下去了, 关于这个madplay已经耗去了我好几个小时了
http://blog.csdn.net/yichi7758/article/details/5329313
红 {MOD}部分就是了
“
五、由于我板子声音架构为alsa,直接使用madplay播放会出现audio: /dev/dsp: No such file or directory错误。
原因是madplay使用oss建构,在网上查找了一些资料,可以用alsa支持oss架构,但是并没有找到比较容易的方法,有待以后学习。
简单解决方法如下:使用madplay解码再使用aplay播放:)在这里向有此伟大想法的不知名网友致敬。
madplay -o wav:- 1.mp3 | aplay
有关aplay等alsa工具移植请参照http://blog.csdn.net/yichi7758/archive/2010/02/26/5328491.aspx
”
注意:1、板子是指 电脑的主板 声卡
2、
madplay -o wav:- 1.mp3 | aplay 应该为 ./madplay -o wav:- 1.mp3 | aplay
应该到这里就可以播放1.MP3这首歌曲了。
另外我还想特别说明一个,pc端 ubuntu 最好不在root权限下 播放,好像是ubuntu 不允许,如果一定要在root模式下的话,需要修改系统的一些文件
详细请移步看:http://blog.csdn.net/penglijiang/article/details/7669101
我也是 今天出现问题之后 到处查才知道的,之前一直以为是ubuntu11.10 系统没有安装声卡 驱动,其实是再root 账号下不能用audio而已,切记!
我是个初学者,如果说的不对的地方,请大侠指导。