Alsa Loopback Device busy

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Hallo auch.

    Ich habe folgendes Problem:

    Ich möchte während der Video-Wiedergabe in Firefox (Youtube, Disney+) das Audiogerät wechseln können ohne Firefox danach neu starten zu müssen.

    Die Geräte wären folgen: HDMI->Beamer, Bluetooth->Sony WH 1000MX3 und Bluetooth->JBL Charge 3. Mit pulseaudio und pavcontrol hat das überhaupt nicht funktioniert. Die Bluetooth-Verbindung kam nicht zu stande oder war Störanfällig, Firefox musste trotz allem neu gestartet werden etc. Deswegen habe ich puseaudio raus geschmissen und mache das derzeit mit alsa. Dazu habe ich mir ein Skript angelegt, welches die .asoundrc jeweils austauscht und ggf. die Bluetoothverbindung aufbaut. Mit zenity habe ich einen Auswahl-Dialog erstellt. Das funktioniert so weit auch wunderbar und war jetzt nur dafür gut die Ausgangssituation zu beschreiben. Jetzt hätte ich gerne das ich während der Wiedergabe das Gerät wechseln kann ohne das Programm neu starten zu müssen. Dazu habe ich das snd-aloop-Modul geladen. Nach einigem probieren sieht meine .asoundrc derzeit so aus:


    Um das ganze jetzt auf die Lautsprecher zu bekommen starte ich folgendes:

    alsaloop -C capture -P hw:1



    Jedoch erhalte ich dann nur folgende Fehlermedung:

    Quote

    ALSA lib pcm_dsnoop.c:638:(snd_pcm_dsnoop_open) unable to open slave

    capture capture open error: Device or resource busy

    Loopback initialization failure.

    Was läuft den da schief? Anscheinend ist das capture-device belegt, ich verstehe nur nicht wovon. Die Audioausgabe funktioniert jedenfalls problemlos mit

    aplay -D hw:1 /usr/share/sounds/alsa/Front_Center.wav


    Zudem verwende ich ja dsnoop womit meines Wissens ohnehin mehrere Geräte das Mikrofon nutzen können sollten.


    Meine Geräte sehen wie folgt aus:


    Jemand eine Idee?


    Edit:

    HW ist ein Raspberry Pi 4B mit 4GB

    OS ist Raspbian 32 bit

    Edited once, last by FlatGrass60523 ().

  • Okay, hat sich erledigt. Hauptproblem war, dass ich die falschen Devices angesprochen habe, bzw. das Subdevice. Statt Loopback,0,0 und Loopback,0,1 sind es Loopback,0,0 und Loopback,1,0. alsaloop wollte dann trotzdem nicht so wie ich, und jetzt ist die Endlösung ein arecord das nach aplay piped.


    Für alle die es interessiert, hier meine .asoundrc:



    Und hier das Skript das zwischen den Ausgängen umschaltet:



    Das ist jetzt kein Meisterwerk, eigentlich sogar ziemlicher Pfusch, aber das ersetze ich wahrscheinlich eh durch ein Python-Skript. Ist natürlich alles sehr auf meine Hardware angepasst, aber vielleicht kann ja trotzdem jemand was damit anfangen.


    MfG

    Christian