LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 718|回复: 5

又是一个声音问题[已经解决]

[复制链接]
发表于 2008-12-5 17:18:01 | 显示全部楼层 |阅读模式
自己搞了很久都没有解决,发到这里请大家帮助。

思路大概是这样的:
内核支持->安装驱动->相关的库->利用应用程序播放音乐

我先在内核源码目录下利用make menuconfig查看上一次编译内核的选项,发现其中是有ALSA和OSS支持的。

然后,到alsa官网下载了以下软件包,成功编译安装:

  1. alsa-driver-1.0.18a.tar.bz2  
  2. alsa-lib-1.0.18.tar.bz2      alsa-utils-1.0.18.tar.bz2
复制代码


根据声卡类型(Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller),利用alsaconf配置好模块加载配置文件后,lsmod可以看到alsa加载的模块:

  1. localhost ~ # lsmod | grep snd
  2. snd_intel8x0           27932  0
  3. snd_intel8x0m          15884  0
  4. snd_ac97_codec         78116  2 snd_intel8x0,snd_intel8x0m
  5. ac97_bus                5376  1 snd_ac97_codec
  6. snd_pcm                50948  3 snd_intel8x0,snd_intel8x0m,snd_ac97_codec
  7. snd_timer              18436  1 snd_pcm
  8. snd                    36900  5 snd_intel8x0,snd_intel8x0m,snd_ac97_codec,snd_pcm,snd_timer
  9. snd_page_alloc         11144  3 snd_intel8x0,snd_intel8x0m,snd_pcm
复制代码


/dev下也出现拉相应的设备:

  1. localhost ~ # ll /dev/snd/
  2. total 0
  3. crw-rw---- 1 root audio 116,  0 2008-11-29 00:49 controlC0
  4. crw-rw---- 1 root audio 116, 32 2008-11-29 00:49 controlC1
  5. crw-rw---- 1 root audio 116, 24 2008-11-29 00:49 pcmC0D0c
  6. crw-rw---- 1 root audio 116, 16 2008-11-29 00:49 pcmC0D0p
  7. crw-rw---- 1 root audio 116, 25 2008-11-29 00:49 pcmC0D1c
  8. crw-rw---- 1 root audio 116, 26 2008-11-29 00:49 pcmC0D2c
  9. crw-rw---- 1 root audio 116, 27 2008-11-29 00:49 pcmC0D3c
  10. crw-rw---- 1 root audio 116, 20 2008-11-29 00:49 pcmC0D4p
  11. crw-rw---- 1 root audio 116, 56 2008-11-29 00:49 pcmC1D0c
  12. crw-rw---- 1 root audio 116, 48 2008-11-29 00:49 pcmC1D0p
  13. crw-rw---- 1 root audio 116, 33 2008-11-29 00:49 timer
复制代码


但是,系统就是没有声音:
1. 用alsa-utils自带的speaker-test测试,终端输出正常,但是听不见声音:

  1. ocalhost speaker-test # ./speaker-test -Dplug:front -c2

  2. speaker-test 1.0.18

  3. Playback device is plug:front
  4. Stream parameters are 48000Hz, S16_LE, 2 channels
  5. Using 16 octaves of pink noise
  6. Rate set to 48000Hz (requested 48000Hz)
  7. Buffer size range from 8 to 16384
  8. Period size range from 8 to 16384
  9. Using max buffer size 16384
  10. Periods = 4
  11. was set period_size = 4096
  12. was set buffer_size = 16384
  13. 0 - Front Left
  14. 1 - Front Right
  15. Time per period = 5.633724
复制代码


2.用aplay测试了一个wav文件,也是类似结果:

  1. localhost aplay # ./aplay ../speaker-test/samples/Rear_Left.wav
  2. Playing WAVE '../speaker-test/samples/Rear_Left.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
复制代码


3. 在KDE 的控制中心和mplayer测试声音也失败了。

请大家帮我看看吧,谢谢了!

BTW,我系统里bell的声音倒是有,而且很大。
由于我对emerge还不是特别熟悉,所以这里没有用emerge。
发表于 2008-12-5 17:19:55 | 显示全部楼层
http://www.gentoo.org/doc/zh_cn/alsa-guide.xml

please follow the gentoo way...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-5 17:43:47 | 显示全部楼层
Post by zhllg;1919577
http://www.gentoo.org/doc/zh_cn/alsa-guide.xml

please follow the gentoo way...


我本来是想用gentoo的方式做的,但是emerge alsa-utils出现了严重问题,所以才改用源码自己编译的。
错误信息如下:

  1. * Messages for package media-libs/alsa-lib-1.0.16:

  2. *
  3. * ERROR: media-libs/alsa-lib-1.0.16 failed.
  4. * Call stack:
  5. *               ebuild.sh, line   49:  Called src_compile
  6. *             environment, line 2509:  Called die
  7. * The specific snippet of code:
  8. *       emake || die "make failed";
  9. *  The die message:
  10. *   make failed
  11. *
  12. * If you need support, post the topmost build error, and the call stack if relevant.
  13. * A complete build log is located at '/var/tmp/portage/media-libs/alsa-lib-1.0.16/temp/build.log'.
  14. * The ebuild environment file is located at '/var/tmp/portage/media-libs/alsa-lib-1.0.16/temp/environment'.
  15. *
复制代码
回复 支持 反对

使用道具 举报

发表于 2008-12-5 18:54:02 | 显示全部楼层
  1. * Messages for package media-libs/alsa-lib-1.0.16:
  2. *
  3. * ERROR: media-libs/alsa-lib-1.0.16 failed.
  4. * Call stack:
  5. *               ebuild.sh, line   49:  Called src_compile
  6. *             environment, line 2509:  Called die
  7. * The specific snippet of code:
  8. *       emake || die "make failed";
  9. *  The die message:
  10. *   make failed
  11. *
  12. * If you need support, post the topmost build error, and the call stack if relevant.
  13. * A complete build log is located at '/var/tmp/portage/media-libs/alsa-lib-1.0.16/temp/build.log'.
  14. * The ebuild environment file is located at '/var/tmp/portage/media-libs/alsa-lib-1.0.16/temp/environment'.
  15. *
复制代码

这段 信息 没有任何价值...

alsa 默认上来 都是静音的 你确定你调过音量了么?
回复 支持 反对

使用道具 举报

发表于 2008-12-5 18:54:58 | 显示全部楼层
贴详细的emerge日志。只看这个并不能知道错误信息
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-5 21:10:00 | 显示全部楼层
Post by 軒轅.子;1919625
  1. * Messages for package media-libs/alsa-lib-1.0.16:
  2. *
  3. * ERROR: media-libs/alsa-lib-1.0.16 failed.
  4. * Call stack:
  5. *               ebuild.sh, line   49:  Called src_compile
  6. *             environment, line 2509:  Called die
  7. * The specific snippet of code:
  8. *       emake || die "make failed";
  9. *  The die message:
  10. *   make failed
  11. *
  12. * If you need support, post the topmost build error, and the call stack if relevant.
  13. * A complete build log is located at '/var/tmp/portage/media-libs/alsa-lib-1.0.16/temp/build.log'.
  14. * The ebuild environment file is located at '/var/tmp/portage/media-libs/alsa-lib-1.0.16/temp/environment'.
  15. *
复制代码

这段 信息 没有任何价值...

alsa 默认上来 都是静音的 你确定你调过音量了么?

确实是,就是alsamixer打开声音就可以了。
又土了一回.....
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表