ubuntuusers.de

Sound wiedergeben mit vlc auf USB-Lautsprecher

Status: Ungelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

jms3000

Avatar von jms3000

Anmeldungsdatum:
29. Januar 2015

Beiträge: 869

Wohnort: Schwetzingen

Ich habe einen USB-Lautsprecher (der hängt nur per USB am Rechner, nicht mit Klinkenkabel). Das Gerät nennt sich CD002. Wenn ich mit "pavucontrol" ein bisschen rumspiele schaffe ich es auch, auf diesem USB-Lautsprecher auszugeben. Jetzt möchte ich gerne was über VLC ausgeben:

1
cvlc --alsa-audio-device=pulse xxx.wav

funktioniert, wird aber nicht auf dem USB-Lautsprecher ausgegeben. Welches Device muss ich angeben, damit es über USB ausgegeben wird?

Hier die Liste der Geräte:

--alsa-audio-device {default,surround21,surround40,surround41,surround50,surround51,surround71,null,samplerate,speexrate,jack,oss,pulse,upmix,vdownmix,a52,sysdefault:CARD=PCH,front:CARD=PCH,DEV=0,surround21:CARD=PCH,DEV=0,surround40:CARD=PCH,DEV=0,surround41:CARD=PCH,DEV=0,surround50:CARD=PCH,DEV=0,surround51:CARD=PCH,DEV=0,surround71:CARD=PCH,DEV=0,iec958:CARD=PCH,DEV=0,hdmi:CARD=PCH,DEV=0,hdmi:CARD=PCH,DEV=1,hdmi:CARD=PCH,DEV=2,hdmi:CARD=PCH,DEV=3,hdmi:CARD=PCH,DEV=4,dmix:CARD=PCH,DEV=0,dmix:CARD=PCH,DEV=1,dmix:CARD=PCH,DEV=3,dmix:CARD=PCH,DEV=7,dmix:CARD=PCH,DEV=8,dmix:CARD=PCH,DEV=9,dmix:CARD=PCH,DEV=10,dsnoop:CARD=PCH,DEV=0,dsnoop:CARD=PCH,DEV=1,dsnoop:CARD=PCH,DEV=3,dsnoop:CARD=PCH,DEV=7,dsnoop:CARD=PCH,DEV=8,dsnoop:CARD=PCH,DEV=9,dsnoop:CARD=PCH,DEV=10,hw:CARD=PCH,DEV=0,hw:CARD=PCH,DEV=1,hw:CARD=PCH,DEV=3,hw:CARD=PCH,DEV=7,hw:CARD=PCH,DEV=8,hw:CARD=PCH,DEV=9,hw:CARD=PCH,DEV=10,plughw:CARD=PCH,DEV=0,plughw:CARD=PCH,DEV=1,plughw:CARD=PCH,DEV=3,plughw:CARD=PCH,DEV=7,plughw:CARD=PCH,DEV=8,plughw:CARD=PCH,DEV=9,plughw:CARD=PCH,DEV=10,usbstream:CARD=PCH,a52:CARD=PCH,sysdefault:CARD=U0x46d0x825,front:CARD=U0x46d0x825,DEV=0,surround21:CARD=U0x46d0x825,DEV=0,surround40:CARD=U0x46d0x825,DEV=0,surround41:CARD=U0x46d0x825,DEV=0,surround50:CARD=U0x46d0x825,DEV=0,surround51:CARD=U0x46d0x825,DEV=0,surround71:CARD=U0x46d0x825,DEV=0,iec958:CARD=U0x46d0x825,DEV=0,dmix:CARD=U0x46d0x825,DEV=0,dsnoop:CARD=U0x46d0x825,DEV=0,hw:CARD=U0x46d0x825,DEV=0,plughw:CARD=U0x46d0x825,DEV=0,usbstream:CARD=U0x46d0x825,a52:CARD=U0x46d0x825,sysdefault:CARD=CD002,front:CARD=CD002,DEV=0,surround21:CARD=CD002,DEV=0,surround40:CARD=CD002,DEV=0,surround41:CARD=CD002,DEV=0,surround50:CARD=CD002,DEV=0,surround51:CARD=CD002,DEV=0,surround71:CARD=CD002,DEV=0,iec958:CARD=CD002,DEV=0,dmix:CARD=CD002,DEV=0,dsnoop:CARD=CD002,DEV=0,hw:CARD=CD002,DEV=0,plughw:CARD=CD002,DEV=0,usbstream:CARD=CD002,a52:CARD=CD002} 

Denn

1
cvlc --alsa-audio-device=hw:CD002,0 xxx.wav

funktioniert nicht. Und ich möchte nicht vorher mit der Maus in der GUI etwas einstellen müssen. Denn es sollen nur bestimmte besondere Ausgaben über diesen Lautsprecher laufen.

pepre Team-Icon

Supporter
Avatar von pepre

Anmeldungsdatum:
31. Oktober 2005

Beiträge: 6474

Wohnort: Erlangen

Lies Soundsystem ff für die Grundlagen.

Eigentlich solltest du cvlc in pavucontrol (PA) als Applikation sehen. Und dieser kannst du eine beliebige Sink zuweisen. PA merkt sich das auch idR.

... funktioniert nicht.

Fehlermeldungen?

Du probierst cvlc direkt mit ALSA kommunizieren zu lassen. Wenn jedoch PA schon den Finger auf dem Device hat, dann scheitert dies logischerweise.

Wenn du diesen Weg überhaupt probieren willst ("Gefrickel"), dann musst du statt "hw" das "plughw" verwenden, das schickt alles durch den "dmix" von ALSA für diese Karte. Muss aber auch nicht klappen, falls PA das Device nativ für sich reserviert hat.

Fazit: der beste Weg ist PA so zu konfigurieren, dass er cvlc standardmäßig immer auf das USB-Device schickt. (Das sollte dann aber logischwerweise immer verfügbar sein, sonst brauchst du Regeln für das Plug in/out-Verhalten.)

jms3000

(Themenstarter)
Avatar von jms3000

Anmeldungsdatum:
29. Januar 2015

Beiträge: 869

Wohnort: Schwetzingen

Über pavucontrol kann ich die Ausgabe auf den USB-Speaker lenken. Aber mein Ziel ist es ja, dass ich auf der Commandline gezielt einzelne Sounds automatisiert auf den USB-Speaker senden kann. Zumindest mit paplay geht es auch: paplay -v -d alsa_output.usb-CD002_CD002_CD002-01.analog-stereo abc.wav

Ausgabe von Systemmeldungen als Sprache:

1
2
3
tts=$(tempfile) || exit
pico2wave -l de-DE -w $tts.wav "$1"
paplay -v -d alsa_output.usb-CD002_CD002_CD002-01.analog-stereo $tts.wav
Antworten |