LinuxSir.cn,穿越时空的Linuxsir!

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

还有没有天理啊,Pulse 可以多音频,Alsa 不能?

[复制链接]
发表于 2009-9-21 21:01:41 | 显示全部楼层 |阅读模式
执行 gstreamer-properties 之后,在Plugin 选 Alsa 不能多音频,开了 Mplayer  就不能 Rythmbox,没声音,

如果选择 Pulse 倒是可以同时发声。VirtualBox 里面设置成 Pulse 也可以同时发声,Alsa 就不行
怎么回事,谁都知道 Alsa 明明可以支持多音频吗?

Debian Squeeze
发表于 2009-9-21 22:33:18 | 显示全部楼层
就是因为pulse独占了声卡~~
所以alsa不可以了

要多个软件可以使声卡~只能通过pulse服务
不过这东西挻占CPU的

或者把pulse当成alsa的一个通道, 具体设置网上有
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-21 22:45:10 | 显示全部楼层
真的假的,能不能不要pulse 卸载掉啊,

pulse 是个什么东西和 alsa 有什么不一样。
回复 支持 反对

使用道具 举报

发表于 2009-9-22 00:59:21 | 显示全部楼层
在/etc/pulse/default.pa找到:

### Automatically load driver modules depending on the hardware available
.ifexists module-hal-detect.so
load-module module-hal-detect
.else


在这几行前面加上:
load-module module-alsa-sink device=dmixed rate=44100
load-module module-alsa-source device=dsnooped


dmixed和dsnooped是我在/etc/asound.conf 定义的。
还是把我的/etc/asound.conf贴出(当然也是抄人家的):
  1. pcm.pulse {
  2.     type pulse
  3. }

  4. ctl.pulse {
  5.     type pulse
  6. }

  7. pcm.pa {
  8.     type plug
  9.     slave.pcm "pulse"
  10. }


  11. pcm.jack {
  12.     type jack
  13.     playback_ports {
  14.         0 alsa_pcm:playback_1
  15.         1 alsa_pcm:playback_2
  16.         }
  17.     capture_ports {
  18.         0 alsa_pcm:capture_1
  19.         1 alsa_pcm:capture_2
  20.     }
  21. }

  22. pcm.pjack {
  23.     type plug
  24.     slave.pcm "jack"
  25. }

  26. #asym fun start here. we define one pcm device called "dmixed"
  27. pcm.dmixed {
  28.    type dmix
  29.    ipc_key 2345 # must be unique!
  30.    ipc_key_add_uid false   # let multiple users share
  31.    ipc_perm 0666           # IPC permissions for multi-user sharing (octal, default 0600)
  32.     slave {
  33.         pcm "hw:0,0"      # you cannot use a "plug" device here, darn.
  34.         period_time 0
  35.         period_size 2048 # must be power of 2
  36.         buffer_size 16384  # dito. It
  37.        #format "S32_LE"
  38.        #periods 128 # dito.
  39.        rate 44100
  40.        # with rate 8000 you *will* hear if used :)
  41.     }
  42.     # bindings are cool. This says, that only the first
  43.     # two channels are to be used by dmix, which is
  44.     # enough for (most) oss apps and also lets
  45.     # multichannel chios work much faster:
  46.     bindings {
  47.         0 0 # from 0 => to 0
  48.         1 1 # from 1 => to 1
  49.     }

  50. }

  51.    
  52. #one called "dsnooped" for capturing
  53. pcm.dsnooped {
  54.    ipc_key 1027
  55.    ipc_key_add_uid false
  56.    ipc_perm 0666
  57.     type dsnoop
  58.     slave {
  59.         pcm "hw:0,0"      # you cannot use a "plug" device here, darn.
  60.         period_time 0
  61.         period_size 2048 # must be power of 2
  62.         buffer_size 16384  # dito. It
  63.     }

  64. }
  65.    
  66. #and this is the real magic
  67. pcm.asymed {
  68.     type asym
  69.     playback.pcm "dmixed"
  70.     capture.pcm "dsnooped"
  71. }
  72.    
  73. #a quick plug plugin for above device to do the converting magic
  74. pcm.pasymed {
  75.     type plug
  76.     slave.pcm "asymed"
  77. }
  78.    
  79. #a ctl device to keep xmms happy
  80. ctl.pasymed {
  81.     type hw
  82.     card 0
  83. }
  84.    
  85. #for aoss:
  86. pcm.dsp0 {
  87.     type plug
  88.     slave.pcm "asymed"
  89. }
  90.    
  91. ctl.mixer0 {
  92.     type hw
  93.     card 0
  94. }

  95. pcm.default pcm.pasymed
复制代码

里面有pa和jack等内容,加上无碍。
回复 支持 反对

使用道具 举报

发表于 2009-10-5 22:11:36 | 显示全部楼层
卸载掉所有pulseaudio包,安装esound,也能实现多音频流
回复 支持 反对

使用道具 举报

发表于 2009-10-5 22:40:58 | 显示全部楼层
不是很明白,我只有alsa,没装PULSE,可以多个播放器同时发声啊。
回复 支持 反对

使用道具 举报

发表于 2009-10-6 03:25:23 | 显示全部楼层
ALSA自带dmix,从来没用过pulse
alsa-{lib,util,oss},这三个就够了吧
回复 支持 反对

使用道具 举报

发表于 2009-10-6 19:02:14 | 显示全部楼层
pulseaudio的hal模块的问题,它让pulseaudio占用了hw:0硬件设备。
上面我写的,就是赶在load-module module-hal-detect之前,首先占用alsa的软设备。

alsa的软设备,不在/etc/asound.conf或 ~/.asoundrc里定义的话,缺省是没有的。
回复 支持 反对

使用道具 举报

发表于 2009-10-6 20:28:23 | 显示全部楼层
abby的方法要记下来,以后会用得着的
回复 支持 反对

使用道具 举报

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

本版积分规则

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