Kurkistelin hieman, koska minulla on vanhassa pöytäkoneessa vähän vastaava tilanne: koneessa on integroitu äänikortti, mutta parempi ääni tulee C-Median PCI-äänikortista. Usein ei tarvitse tehdä yhtikäs mitään, mutta aina joskus jokin sovellus tai liitännäinen yrittää käyttää väärää laitetta. Historiallisesti hankalin on aina ollut Flash-liitännäinen, joka tuntuu erehtymättömästi aina yrittävän käyttää väärää laitetta.
Kokeilin tallentaa ääniasetukset komennolla:
alsactl store -f asound.state
(joko tiedostonimi tai pääkäyttäjäoikeudet vaaditaan, koska oletustallennuspaikka on /var/lib/alsa/asound.state). En kuitenkaan keksi, miten tuossa tiedostossa asetettaisiin oletuslaite. Lähinnä tiedoston sisältö ilmeisesti kertoo kunkin laitteen tilan.
Oletuslaitteen voi kuitenkin asettaa ~/.asoundrc-tiedostossa, esimerkiksi:
# ~/.asoundrc
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
…asettaa oletukseksi laitteen 1. Laitteet on numeroitu 0:sta alkaen, ja 0-laitetta käytetään, jollei muuta ole määrätty. Jos laitteita on kaksi, käsittääkseni niiden numerot ovat aina 0 ja 1, joten riittää luoda kaksi tuollaista tiedostoa, joissa card-riveillä vain on eri numero. Sitten vain skripti, joka vaihtaa tiedoston sisällön sopivasti.