Wie wähle ich aus, welches Soundausgabegerät für /dev/dsp OSS Emulation verwendet werden soll?
Ich habe ein System mit zwei Sound-Geräten und bin mit Sound über HDMI-Ausgang. Dies ist Karte 1, Gerät 7, Untergerät 0, also setze ich in meinem /usr/share/alsa.conf
:
defaults.ctl.card 1
defaults.pcm.card 1
defaults.pcm.device 7
defaults.pcm.subdevice 0
Dies gibt mir Ton in ALSA-Anwendungen. Jetzt möchte ich ein altes Programm ausführen,das OSS benötigt, also habe ich alsa-oss
installiert und sudo modprobe snd-pcm-oss snd-mixer-oss
. Wenn ich das alte Programm starte, bekomme ich Ton, aber nur von der analogen Leitung, nicht von HDMI, so dass die OSS-Emulation die erste Karte verwendet.
Wie kann ich die OSS-Emulation anweisen, die zweite zu verwenden karte statt?
2 answers
Die Dokumentation sagt:
ALSA unterstützt die folgenden OSS-Gerätedateien:
PCM:
/dev/dspX /dev/adspX[...]
Im Gegensatz zum echten OSS kann ALSA die Gerätedateien nicht mehr als die zugewiesene. Zum Beispiel kann die erste Karte /dev/dsp1 nicht verwenden oder /dev / dsp2, aber nur /dev /dsp0 und/dev / adsp0. [...]
Wie oben zu sehen, können PCM und MIDI zwei Geräte haben. Normalerweise ist der erste PCM-Gerät (hw: 0,0 in ALSA) wird /dev/dsp und dem sekundären zugeordnet gerät (hw:0,1) zu / dev / adsp (falls verfügbar).Sie können diese Gerätezuordnung über die Moduloptionen von snd-pcm-oss und snd-rawmidi. Im Falle von PCM Folgendes für snd-pcm-oss stehen Optionen zur Verfügung:
dsp_map PCM device number assigned to /dev/dspX (default = 0) adsp_map PCM device number assigned to /dev/adspX (default = 1)
Um beispielsweise das dritte PCM-Gerät (hw:0,2) /dev/adsp0 zuzuordnen, definieren Sie wie folgt:
options snd-pcm-oss adsp_map=2
Die Optionen nehmen-arrays. Geben Sie zum Konfigurieren der zweiten Karte an zwei durch Komma getrennte Einträge. Zum Beispiel, um das dritte PCM abzubilden ger definieren Sie auf der zweiten Karte nach /dev/adsp1 wie folgt:
options snd-pcm-oss adsp_map=0,2
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-11-21 22:03:54
Das funktioniert auf meinem System.
[http://forums.debian.net/viewtopic.php?f=7&t=145874][1]
Lass es mich wissen, wenn du es zum Laufen gebracht hast. Sehr interessiert.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-04-10 21:13:13