правильный ~/.asoundrc

настроил alsa более менее,переключаю звуковые как мне надо...
вопрос про ~/.asoundrc,когда пишу как в wiki ,такого вида(номера карт меняются как надо)
pcm.!default {
    type hw
    card 0
}

ctl.!default {
    type hw
    card 0
}
в mpv звук есть,в firefox то есть то нет,одновременно с mpv звука нет.
когда пишу простейший ~/.asoundrc такого вида
defaults.ctl.card 0
defaults.pcm.card 0
везде звук есть одновременно,в mpv,firefox,clementine.качество звука прекрасное,не падает,я бы услышал.
в двух словах в чем принципиальная разница между ~/.asoundrc,вроде одно и то-же написано но по другому.добавлено только type hw,еще скобки фигурные,что оно значит х.з.
для себя настроил как мне надо,хочется хоть немного понять.
сейчас сделал так
pcm.!default {
    card 0
}
ctl.!default {
card 0
}
убрал type hw,играет или mpv или firefox,вместе нет,но без скобок,с простейшим asoundrc,играет все одновременно.
на двух звуковых картах работает одинаково.
Linux Forever!
Vadim
в mpv звук есть,в firefox то есть то нет,одновременно с mpv звука нет.
Если карт несколько, нужно указать порядок их определения, напр.:

/etc/modprobe.d/sound.conf
-----
options snd-hda-intel index=0
options snd-usb-audio index=2
options snd-hda-intel power_save=0

Если нет хардварного, то програмный микшер включен по дефолту, но его можно задействовать и вручную. Dmix.

А вообще, во время победоносного шествия гномов pulseaudio никто не хочет лезть в эти дебри. Когда передо мной стал вопрос сконфигурировать вывод/захват звука, менять при необходимости местами каналы, родился такой конфиг:
pcm.snd_card {
  type hw
  card 0
  device 0
}

pcm.dmixer {
  type dmix
  ipc_key 1024
  ipc_key_add_uid false
  ipc_perm 0660
  slave {
    pcm "snd_card"
    #rate 44100
    channels 2
    period_time 0
    period_size 1024
    buffer_time 0
    buffer_size 5120
  }
}

pcm.sch {
  type route
  slave.pcm dmixer
  #slave.channels 2
  ttable.0.0 1
  ttable.1.1 1
}

pcm.!default {
  type asym
  playback.pcm {
    type plug
    slave.pcm dmixer
  }
  capture.pcm  {
    type plug
    slave.pcm {
      type hw
      card 2
      device 0
      format S16_LE
      channels 1
      #rate 22050
    }
  }
}

Сделал-забыл. Относительно недавно чуть подправил/упростил. Рувоводствовался этой статьей, статьей из арчвики, материалами из тырнета, которые сейчас и не найду уже.

В голове такое не удержать если постоянно им не заниматься.
 
Зарегистрироваться или войдите чтобы оставить сообщение.