Van egy málna pi 3-as usb dac-al a mikrofonom csatlakoztatásához, és van egy usb speackerem is.
Telepítettem a pi, a mopidy és más litle projektekre.
Módosítottam a ~/.asoundsrc
fájlt a következőre:
pcm.!default { type asym playback.pcm { type plug slave.pcm "hw:1,0" } capture.pcm { type plug slave.pcm "hw:0,0" } }
Minden működik, és amikor újraindítom, új konfigurációt adok a .asoundrc
fájlom végébe
pcm.!default { type asym playback.pcm { type plug slave.pcm "hw:1,0" } capture.pcm { type plug slave.pcm "hw:0,0" } } pcm.!default { type hw card 2 } ctl.!default { type hw card 2 }
Ezzel a módosítással a litle projektem nem működik, törölnöm kell
pcm.!default { type hw card 2 } ctl.!default { type hw card 2 }
Tudod miért, ez a konfiguráció minden alkalommal hozzáadódik újraindítani?
Talán ez, tudna segíteni, hogy segítsen nekem 🙂
cat /proc/asound/modules 0 snd_usb_audio 1 snd_usb_audio 2 snd_bcm2835
Köszönöm
Hozzászólások
Válasz
Visszavonja azt, amit kértem. Ezt követően indítsa újra. Miután az RPI biztonsági mentés készült, hozzon létre egy fájlt:
sudo nano /etc/asound.conf
Ebben a fájlban helyezze el ezt:
pcm.!default { type asym playback.pcm { type plug slave.pcm "hw:1,0" } capture.pcm { type plug slave.pcm "hw:0,0" } }
Ha elkészült, mentse a fájlt, majd indítsa újra.
Megjegyzések
- Köszönöm Jason, de nem. senki sem változtat térjen vissza a konfigurációm nélkül a
/etc/asound.conf
Válasz
A probléma megoldásának módja az volt, hogy lefuttattam a sudo raspi-config
oldalt, majd lépjünk a Speciális beállítások, majd az Audio lehetőségre. Ezt Auto értékre állítottuk. Amikor ezt az opciót “3,5 mm-es fejhallgató-csatlakozó kényszerítésére” módosítottam, újraindításkor abbahagytam az .asoundrc fájlom átírását.
Megjegyzések
- Próbáltam, valami mégis felülírja a
.asoundrc
fájl minden indítást.
Válasz
Ez egy régi probléma, rendszeresen felszínre kerül, legutóbb a legújabb kernelre és firmware-re történő frissítés után a Raspian Stretch , 4.14.30-v7+
számára.
Úgy tűnik, hogy köze lehet ahhoz, hogy a Raspberry Pi miként használja a systemd szolgáltatásokat indításkor és leállításkor és az ALSA démonok és szolgáltatások beállítása (vagy a rendszerfrissítés után). A legjobb tippem az, hogy a valami utólagos telepítési parancsfájljai nem ismerik fel, hogy már van /home/pi/.asoundrc
fájlja, majd megpróbálja visszaállítani valamilyen alapértelmezettre. Nem világos, honnan származik ez az alapértelmezett érték. Természetesen nem az, amit a sok ALSA vagy a rendszerszolgáltatás konfigurációs fájljának vagy a kapcsolódó man oldalnak a megjegyzései írnak. De úgy tűnik, hogy az lxpanels kötet kisalkalmazás hibájából származik.
Esetemben a úgy tűnik, hogy a következők megoldották a problémát:
- Először távolítsa el a Kötet kisalkalmazást az lxpanel ből, majd:
# Make sure your .asoundrc is correct, then do: alsactl kill save_and_quit sudo shutdown now
PS. Fontosnak tűnik a shutdown használata is, és nem a reboot !
Hibakeresési kísérletek
Ha a fentiek nem működnek, olvassa el ezt.
Mellékesen úgy tűnik, hogy vannak hiba a systemctl ben a szolgáltatások kezelésében. A pi FS-je (hiányzó részek szerint) különbözik a többi Debian-alapú rendszertől, így ahol a szolgáltatás szkriptek találhatók és kezelhetők, nem teljesen a saját man oldalainak felel meg.
A vonatkozó ALSA kapcsolódó szolgáltatások megtekintése , tegye:
sudo systemctl status alsa-restore alsa-state
Normál körülmények között képesnek kell lennie a gyanús statikus szolgáltatások leállítására a következők segítségével:
sudo systemctl mask --system alsa-state.service --now sudo systemctl mask --system alsa-restore.service --now
Azonban az [system,user,runtime, global]
futásidejű helyei:
/etc/systemd/system-preset/*.preset /run/systemd/system-preset/*.preset /lib/systemd/system-preset/*.preset /etc/systemd/user-preset/*.preset /run/systemd/user-preset/*.preset /usr/lib/systemd/user-preset/*.preset
nem tartják be a man systemd.preset
részben leírtak szerint.
Az összes szolgáltatás és aktuális állapotának megtekintéséhez használja a következőt:
systemctl list-unit-files -t service -all
A függőségeket megfordíthatja a következővel is:
systemctl list-dependencies --reverse alsa-restore.service alsa-restore.service ● └─basic.target ● └─multi-user.target ● └─graphical.target
Mindenesetre, amikor letiltja a szolgáltatást mask
-nel, akkor a fájlt egy /dev/null
, csak ez nem történik meg a megfelelő helyen (a fentiek szerint). Ehelyett manuálisan kell eltávolítanunk a fájlt (előtte készítsünk róla biztonsági másolatot), majd hozzuk létre a linket.
cp /etc/systemd/system/alsa-restore.service ~/alsa-restore_service.bak cd /etc/systemd/system/ sudo rm alsa-restore.service sudo ln -s /dev/null alsa-restore.service # It should look something like: ls -al /lib/systemd/system |grep alsa lrwxrwxrwx 1 root root 9 Apr 25 13:23 alsa-restore.service -> /dev/null lrwxrwxrwx 1 root root 9 Apr 25 13:26 alsa-state.service -> /dev/null lrwxrwxrwx 1 root root 9 Jan 23 2017 alsa-utils.service -> /dev/null
Most ne felejtse el megismételni a fentieket a alsa-state.service
és ugyanazok a fájlok a könyvtárban: /lib/systemd/system/
ha még nincsenek ott.
NYILATKOZAT
A fentiek valószínűleg nem a helyes módszerek ezt, ezért kérjük, tekintse ezt egy nagyon kísérleti megoldásnak, amíg a hibás beahviour megoldódik. Nagyon valószínű, hogy teljesen megsérti az ALSA funkcióit.
Válasz
Hasonló problémákat oldottam meg a Raspberry pi környezet frissítésével. a lépések a következők:
- Készítsen biztonsági másolatot adatairól a Raspberry pi-ről
- ellenőrizze az aktuális verziót $ uname -a
- a csomag információinak frissítése $ sudo apt-get frissítés
- telepített csomagok frissítése $ sudo apt-get upgrade
- frissítés a legújabb terjesztésre $ sudo apt-get dist-upgrade
- málna pi firmware frissítése $ sudo rpi-update
- indítsa újra a $ sudo újraindítást
- ellenőrizze a legújabb verziót $ uname -a
Ezt követően a Raspberry pi-n az ilyen megoldódott a “módosított .asoundrc-t újraindítás után átírták”. A NOOBS verziója 2.8.1-re frissült 2018-4-24-én. Csak az a véleményem, hogy ez egyfajta ALSA hiba volt, mert megpróbáltam és kudarcot vallottam, és összegyűjtöttem néhány információt erről a jelenségről.
Válasz
Ok, így hasonló problémám volt, bluetooth hangszóróval csatlakoztam a Pi-hez, ha a hangszóró nem volt beindítás előtt, akkor újra beállította az .asoundrc fájlt. Olyan irritáló. Kipróbáltam a fentieket, majd arra gondoltam, hogy mi van, ha csak a megfelelő beállításokat állítom be, majd csak olvashatóvá teszem. Furcsa módon ez működött. Csak a következőket tettem: sudo chmod 0444 ./.asoundrc és ez minden. Most már minden rendben van.
Megjegyzések
- Ez nekem bevált a Raspbian Stretch-en. Furcsa, hogy az engedélyek beállítása működik, mivel azt gondoltam volna, hogy a rendszer (azaz a root) változtatja meg a fájlt.
- Bár most a következő hibaüzenetet kapom, amikor felhívom a pyaudio-t. hogy mégis működjön. & dir) ‘ nem sikerült a ‘ src / hostapi / alsa / pa_linux_alsa.c ‘, sor: 924 ”
Válasz
Ha megváltoztatja az alapértelmezett audioeszközt a menü> Beállítások> Audioeszköz beállításai> Hangkártya menüpontban válassza a Hangkártya lehetőséget, és állítsa be alapértelmezettként a ~ / .asoundrc fájlt.
Megjegyzések
- Úgy tűnik, ez az én problémám. A .asoundrc felülírása a Stretch használatával történő újraindításkor. Van olyan ötlet, ahol ‘ visszavonhatom ‘ ennek a négyzetnek a bejelölését, hogy a rendszer ne írja felül?
pcm.!default
és actl.!default
ne ‘ legyen 2., hanem 0. kártya.