Por que não consigo reproduzir áudio de duas ou mais fontes?

3

Quando instalei em meu desktop mpd e mpc, descobri que não consigo ouvir outras fontes (como o Amarok, o Flash player etc.) no momento em que o mpc ou outro cliente está reproduzindo música. Se eu tentar iniciar um fluxo de áudio com dois Flash players em duas guias, tenho o mesmo problema.

Como resolver isso?
Eu instalei o PulseAudio com as configurações padrão do sistema e o Jackd. Como faço para configurá-lo para várias fontes de som?

gigam@bird:~$ aplay -l
List of PLAYBACK Hardware Devices
card 0: Intel [HDA Intel], device 0: ALC888 Analog [ALC888 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0 card 0: Intel [HDA Intel], device 1: ALC888 Digital [ALC888 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0

Estou usando o ALSA e o PulseAudio, pois ele foi instalado automaticamente.

P.S. Hmmm ... Eu tenho um erro adicional do PulseAudio: pacmd:

>> load-module module-alsa-sink
Module load failed.

Mas no diretório "/usr/lib/pulse-2.0/modules" eu tenho: module-alsa-sink.so

    
por Павел Иванов 13.08.2012 / 23:04

2 respostas

2

Experimente a solução publicada aqui . Adicione estas linhas ao /etc/asound.conf:

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}
    
por 14.08.2012 / 15:05
1

O problema real que você está tendo é que - provavelmente - mpd está configurado para usar o ALSA por padrão. Você sabia que mpd tem um backend do PulseAudio? Olhe para /etc/mpd.conf .

De qualquer forma, mpd e mpc é uma maneira tola de tocar música se você estiver fazendo isso localmente. mpd é realmente projetado para streaming de rede, como executar uma estação de rádio streaming. Existem muitos outros programas que usarão o PulseAudio de forma nativa, como o Rhythmbox, que requer configuração zero.

A resposta de @ terdon deve ajudar se você tiver programas que estejam usando a configuração de camada de plug-in Safe ALSA Subset e respect libasound2. Mas se qualquer programa tentar abrir hw:0 ou um dispositivo ALSA direto para hardware semelhante, ele impedirá que o PulseAudio funcione corretamente e bloqueará todos os outros acessos ao dispositivo de som.

Eu também não sei por que você está tentando usar o jackd , já que normalmente é apenas para trabalhos de áudio high-end, como em Digital Audio Workstations (DAWs). Instalá-lo provavelmente não o ativou (felizmente) ou você teria uma bagunça ainda maior.

Algumas informações sobre sua postagem me fazem pensar que você está tornando isso inteiramente difícil :

  • Você "instalou" o PulseAudio. Por que não foi instalado por padrão?
  • Você "instalou" jackd . O que fez você pensar que isso seria uma boa ideia? Você precisa executar um programa que somente seja executado no JACK, como o Ardour2?
  • Parece que você precisa reproduzir arquivos de configuração, como /etc/asound.conf . Isso realmente não deveria ser necessário.

Parece que você está tentando executar uma versão extremamente antiga do Debian. Honestamente, qualquer distribuição que não seja de pelo menos 2011 (e o Debian Squeeze não conta) não terá uma boa experiência de áudio pronta para uso. Minha recomendação é ir com a mais recente versão estável do Ubuntu, Linux Mint, OpenSUSE ou Fedora.

Versões antigas do Debian (e outras distros também) têm uma experiência de áudio muito ruim, onde as coisas não "simplesmente funcionam" e precisam ser configuradas manualmente. Então o fato de você ter que instalar o PulseAudio, quando ele é enviado e habilitado por padrão nas distribuições desde 2008, me diz que você está rodando um sistema operacional antigo. É grátis; você deve atualizar em vez de tentar refazer manualmente o que as distribuições fizeram sem falhas através de muita pesquisa e desenvolvimento nos últimos 5 anos.

    
por 14.08.2012 / 15:31