LinuxSir.cn,穿越时空的Linuxsir!

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

搞定了 MPD + ALSA-OSS 的朋友进来帮忙阿

[复制链接]
发表于 2006-8-4 01:07:34 | 显示全部楼层 |阅读模式
用了alsa-oss

所有媒体播放器正常使用oss,唯独MPD不行,起动mpd时显示:


  1. [root@sgu fluke]# mpd
  2. ALSA lib pcm_dmix.c:862:(snd_pcm_dmix_open) unable to open slave
  3. problems getting ao_driver_info
  4. you may not have permission to the audio device
复制代码


我的/etc/asound.conf


  1. pcm.dmixer {
  2.     type dmix
  3.     ipc_key 1024
  4.     ipc_key_add_uid false
  5.     ipc_perm 0666                       # mixing for all users
  6.     slave {
  7.         pcm "hw:0,0"
  8.         period_time 0
  9.         period_size 1024
  10.         buffer_size 8192
  11.         rate 44100
  12.     }
  13.     bindings {
  14.         0 0
  15.         1 1
  16.     }
  17. }

  18. pcm.dsp0 {
  19.     type plug
  20.     slave.pcm "dmixer"
  21. }

  22. pcm.!default {
  23.     type plug
  24.     slave.pcm "dmixer"
  25. }

  26. pcm.default {
  27.    type plug
  28.    slave.pcm "dmixer"
  29. }

  30. ctl.mixer0 {
  31.     type hw
  32.     card 0
  33. }
复制代码


我的mpd.conf



  1. mixer_type              "alsa"
  2. mixer_device            "default"
  3. mixer_control           "PCM"

  4. # ALSA Audio Output
  5. #ao_driver              "alsa09"
  6. ao_driver_options      "dev=hw:0,0"
复制代码


注释部分也试过打开的。

主板是nforce 的 c51g
发表于 2006-8-4 13:57:02 | 显示全部楼层
说你没有权限嘛
查看mpd的配置文件,看里面是不是用nobody来运行的.
办法有两个,一个就是让nobody加入audio组,二就是将nobody改为别的用户
回复 支持 反对

使用道具 举报

发表于 2006-8-4 14:14:01 | 显示全部楼层
gpasswd -a root audio
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-4 16:25:23 | 显示全部楼层
不是的,是以root来运行的,mpd.conf下面的选项是给你切换其他用户用的,因为他们不推荐用root来起动。

我的是用root来起动的,并且,root是在audio组里面的了,而且我今天早上开机的时候,先打开了mpd,让他占用了声卡,这样就能运行了,但是其他程序通通不能运行。这个也是我要用alsa-oss的原因,我不想让某程序独占声卡。

另外,在asound.conf的这行 ipc_key_add_uid false,就是防止出现用户问题的,是在gentoo的wiki上面抄下来的。

我想知道你们的配置和我的是不是一样的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-4 17:03:44 | 显示全部楼层
事情有一点点进展。

用在mpd上用

  1. ao_driver_options      "dev=dmixer"
复制代码


以root打开,这样的话,其他程序也是以root打开就能共享音频,如果是其他用户,就会显示硬件被占用。

如果mpd是以普通用户打开的,其他任何用户打开的任何程序均不能利用音频。在这里,只接用普通用户是不能打开mpd的,显示没有权限,之能在mpd.conf里面设置用一个用户的身份来运行,而程序是要通过root来运行的。
回复 支持 反对

使用道具 举报

发表于 2006-8-4 18:29:42 | 显示全部楼层
我在两台pc上都装过mpd,运行都没有问题.
回复 支持 反对

使用道具 举报

发表于 2006-8-4 18:49:14 | 显示全部楼层
I'm not very sure,but it seems asound.conf is no more needed.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-4 19:08:38 | 显示全部楼层
没有问题的同学能否贴一下这几个文件呢?

/etc/asound.conf or ~/.asoundrc

/mpd.conf or ~/.mpd.conf

另外,mpd没有问题的同时,其他程序能否运行呢?
回复 支持 反对

使用道具 举报

发表于 2006-8-4 20:43:48 | 显示全部楼层
我的archlinux配置alsa就是用了alsaconf,然后在启动的时候加了几个模块,其它地方没有改过.
mpd也只是配置了说明文件中指明 要改的几个地方,像音乐目录,使用什么用户运行之类.

运行当然一切很好,无如在kde下还是gnome下,感觉archlinux下,alsa不用改就是支持多音频的.
回复 支持 反对

使用道具 举报

发表于 2006-8-4 20:46:13 | 显示全部楼层
配置文件如下,那个asound.conf文件我的机子上没有
mpd.conf如下

  1. # MPD CONFIG FILE
  2. # For a full description of all config parameters,
  3. # Check the mpd man page, "man mpd".

  4. ##################### REQUIRED ###########################
  5. port                         "6600"
  6. music_directory         "~/doc/share/mp3"
  7. playlist_directory         "~/.mpd/playlists"
  8. log_file                 "~/.mpd/mpd.log"
  9. error_file                 "~/.mpd/mpd.error"
  10. ##########################################################

  11. ##########################################################
  12. # EVERYTHING ELSE IS OPTIONAL
  13. ##########################################################

  14. ################# FILESYSTEM SETTINGS ####################
  15. #
  16. # If the names of files or directories are
  17. # not correctly displayed then set the
  18. # following to the filesystem coding.
  19. #
  20. #        Usually this is either:
  21. #        ISO-8859-1 or UTF-8
  22. #
  23. # After changing the filesystem_charset
  24. # you will need to recreate the db:
  25. #        mpd --create-db
  26. #
  27. #filesystem_charset "ISO-8859-1"
  28. #
  29. ##########################################################

  30. #################### OPTIONAL FILES ######################
  31. #
  32. # Location of DB file
  33. #
  34. #db_file                "~/.mpd/mpd.db"
  35. #
  36. # The state file (if set) will be a file
  37. # for storing all current information
  38. # (playlist, playing/paused, etc...) from
  39. # the last MPD session. This will be used
  40. # to recreate your last MPD session after
  41. # restart.
  42. #
  43. #state_file                "~/.mpd/mpdstate"
  44. #
  45. ##########################################################


  46. ################### VOLUME MIXER #########################
  47. #
  48. # Examples:
  49. # ALSA Mixer
  50. mixer_type                "alsa"
  51. mixer_device                "default"
  52. mixer_control                "PCM"
  53. #
  54. # OSS Mixer
  55. #mixer_type                "oss"
  56. #mixer_device                 "/dev/mixer"
  57. #mixer_control                "PCM"
  58. #
  59. # Software Mixer
  60. #mixer_type                "software"
  61. #
  62. ##########################################################


  63. ################## AUDIO OUTPUT ##########################
  64. #
  65. # OSS Audio Output
  66. #ao_driver                 "oss"
  67. #ao_driver_options         "dsp=/dev/dsp"
  68. #
  69. # ALSA Audio Output
  70. #ao_driver                "alsa09"
  71. #ao_driver_options        "dev=hw:0,0"
  72. #
  73. # Set this if you have problems
  74. # playing audio files.
  75. # This will resample your music so
  76. # that it comes out at the set rate.
  77. #
  78. #audio_output_format        "44100:16:2"
  79. #
  80. # You should not need mess with
  81. # this value unless you know
  82. # what you're doing.
  83. #
  84. #audio_write_size        "1024"
  85. #
  86. ##########################################################

  87. ################# REPLAYGAIN #############################
  88. #
  89. # Use Replay Gain (album or title)
  90. #        http://www.replaygain.org
  91. #
  92. #replaygain                "album"
  93. #
  94. # Sets the pre-amp used for files that have replaygain
  95. # info.  Valid values are between -15 to 15 (in dB).
  96. #
  97. #replaygain_preamp        "0"
  98. #
  99. ##########################################################


  100. ################ OUTPUT BUFFER SETTINGS ##################
  101. #
  102. # You should not need to mess with this
  103. # unless you know what you're doing.
  104. #
  105. #audio_buffer_size        "2048"
  106. #
  107. # This means exactly what it says, it will
  108. # buffer your file up to the percentage of
  109. # the buffer before it begins playing.
  110. #
  111. #buffer_before_play         "25%"
  112. #
  113. ##########################################################


  114. ################### HTTP PROXY ###########################
  115. #
  116. # http_proxy_host        "proxy.isp.com"
  117. # http_proxy_port        "8080"
  118. # http_proxy_user        "user"
  119. # http_proxy_password        "password"
  120. #
  121. ##########################################################


  122. ################# SECURITY SETTINGS ######################
  123. #
  124. # It is encouraged to run MPD as
  125. # non-superuser.  If you start mpd as root
  126. # (for example, in an init script), set
  127. # this value, then  mpd will drop root priveleges
  128. # and runs as the user specified.
  129. #
  130. #user                 "nobody"
  131. #
  132. # Set this value if you only have one
  133. # address you want to allow connection to.
  134. #
  135. #bind_to_address         "localhost"
  136. #
  137. # If you want to setup MPD to use
  138. # passwords set them here
  139. #
  140. #password                 "password1@read,add,control,admin"
  141. #password                 "password2@read"
  142. #
  143. # Specify permissions used by default when no password is
  144. # given by for a connection/client.
  145. #
  146. #default_permissions        "read,add,control,admin"
  147. #
  148. ##########################################


  149. ################ MISCELLANEOUS OPTIONS ###################
  150. #
  151. # This setting exists as precaution against attacks.
  152. #
  153. #max_playlist_length         "16384"
  154. #
  155. # Valid options are "default", "secure" or "verbose".
  156. #log_level                "default"
  157. #
  158. #connection_timeout         "60"
  159. #
  160. # This should be fine for 2-3 people using clients
  161. # at the same time.
  162. #
  163. #max_connections         "5"
  164. #
  165. # No need to change these unless you know better.
  166. #
  167. #max_command_list_size         "2048"
  168. #max_output_buffer_size "2048"
  169. #
  170. # This will make playlists compatible with normal music
  171. # players.
  172. #
  173. #save_absolute_paths_in_playlists "no"
  174. #
  175. ##########################################################
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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