Esta resposta baseia-se na resposta do @ dirkt, por isso agradeço a ele.
-
Você pode editar
~/.config/pulse/default.pa
. Está listado em FILES na página de manual "pulseaudio (1)". Se estiver presente, o% globaldefault.pa
não será usado. Para mim, posso obter uma configuração de trabalho com a seguinte configuração mínima:load-module module-alsa-sink device=default load-module module-alsa-source device=default load-module module-native-protocol-unix
No entanto, talvez você queira examinar a versão global, que é
/etc/pulse/default.pa
em meu sistema, para ver o que mais poderia acontecer nesse arquivo. Há todos os tipos de sinos e assobios configurados aqui: módulos para restaurar configurações de volume, descobrir dispositivos bluetooth, fazer interface com o JACK, sair automaticamente do daemon quando o usuário fizer logout e assim por diante. Se você decidir copiar o arquivo global para seu diretório inicial e editá-lo, ou mesmo editar diretamente o arquivo global, será necessário fazer o seguinte:- Comente
load-module module-udev-detect
, que procura dispositivos de hardware ALSA e substitui o argumento de dispositivo que você passou para os módulos da ALSA acima. - Adicione as linhas
module-alsa-sink
emodule-alsa-source
. A linhamodule-native-protocol-unix
já deve estar presente. - Talvez seja necessário comentar a linha
load-module module-suspend-on-idle
; isso causou problemas para mim em testes com determinados dispositivos de saída . O sintoma é quemplayer -ao pulse ...
relata "dispositivo de áudio ficou preso!" empv -ao pulse ...
relatórios "[ao / pulse] O fluxo está suspenso. Aguardando." Comentando que o módulo resolveu o problema.
- Comente
-
Se você escolher dispositivos diferentes de
device=default
acima, por exemplo, dois separar dispositivos ALSA para gravação e reprodução, isso não funcionará na minha experiência -parecord
tenta gravar a partir do dispositivo sink ao invés do dispositivo de origem. Se você configurou dispositivos separados para entrada e saída via ALSA, e você quer que eles sejam nomeados pelo mesmo dispositivo PCM , você precisa colocar algo assim em~/.asoundrc
:pcm.!default { # "!" means "override" the previous definition type asym playback.pcm "hw4mix" capture.pcm "hw:5" }
Aqui
hw4mix
nomeia um dispositivo dmix definido anteriormente no arquivo; whilehw:5
especifica o dispositivo de hardware para o meu microfone USB. Isso deixa o PulseAudio feliz. Se você quiser usar um dispositivo especial para os clientes PulseAudio, você pode nomear "special_pulseaudio_device" em vez de "default" (e, é claro, atualizardefault.pa
para se referir a ele). -
Teste. Use
pulseaudio -k
oukillall pulseaudio
para eliminar o daemon atual do PulseAudio. Em seguida, inicie-o novamente compulseaudio -vv
. Naturalmente, você precisará fazer isso toda vez que editar~/.asoundrc
. Depois de ter uma configuração de trabalho, você pode tentar algo comopactl exit; pulseaudio --start
. A opção--start
faz com que seja executado em segundo plano, onde você não poderá ver mensagens de erro.Use
parecord -v t.wav
epaplay -v t.wav
para gravar e reproduzir um arquivo WAV. Você deve conseguir que esses comandos sejam executados ao mesmo tempo.-
Como uso um dispositivo
dmix
para reprodução, posso usarpaplay
eaplay
juntos e a mixagem ocorre automaticamente. No entanto, o microfone não pode ser compartilhado na minha configuração; Não consigo gravar usandoarecord
quando o PulseAudio está em execução ("Dispositivo ou recurso ocupado"). Para isso, eu precisaria criar um dispositivodsnoop
e colocar seu nome no lugar dehw:5
acima. -
Se você está tentando fazer o Skype funcionar, use o "Serviço de teste de eco / som" do Skype para testar sua configuração. Lembre-se de que o Skype já pode estar sendo executado em segundo plano - tente
killall skype
antes de iniciá-lo, para forçá-lo a fazer uma nova conexão PulseAudio. Na minha experiência, o Skype não informa qualquer tipo de condição de erro quando não consegue se conectar ao daemon PulseAudio.
-
Ter uma boa configuração do ALSA é desejável, mesmo se apenas porque determinados aplicativos (Ecasound? código herdado?) não funcionam com o PulseAudio. Espero que essas instruções sejam úteis para qualquer pessoa que, tendo configurado a ALSA como quiser, agora queira usar programas como o Skype, que dependem do PulseAudio.