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?

Author: rabejens, 2015-11-21

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
 0
Author: CL.,
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.

 -2
Author: Apostle,
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