Pulseaudio mit RPI 3

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hey zusammen :)

    Versuche aktuell mein RPI als Bluetooth Audio Receiver einzurichten, scheiter ab kläglich :D
    Habe bereits unzählige tutorials versucht und dabei versucht, das ganze für Raspbian Jessie anzupassen, da der großteil der Tutorials für Weezy geschrieben wurde.

    Größtes Problem: ich kann mich zwar mit dem Raspi (von einem Android Handy aus) pairen. Es wird allerdings nicht als "Headset" (Wie mein aktuelles Auto Radio) angezeigt sondern als normales Bluetooth device und ich kann auch nicht connecten.

    Was mir aufgefallen ist: Pulseaudio scheint nicht zu funktionieren.

    Habt ihr tipps, wie ich weiter vorgehen kann? Wo ich nach fehlern suchen muss?
    Freue mich über Hilfe :)

    Grüße,
    Silveryard

  • Hast du die /etc/default/pulseaudio mal angepasst ?
    Dort steht bei mir:
    DISALLOW_MODULE_LOADING=1
    Vllt. hilft es mal auf 0 zu stellen.
    Was mir noch auffällt, der Cookie wird auf meinem Pi2 direkt ins Root Verzeichnis geschrieben, da in der /etc/pulse/client.conf cookie-File= auskommentiert ist.
    Hast du dort auch etwas verändert ?
    Bluetooth scheint beim Pi3 eh noch problembehaftet zu sein.

    MfG

  • Die von dir genannte Datei (/etc/default/pulseaudio) ist bei mir leer bzw existiert nicht.

    die /etc/pulse/client.conf habe ich nicht verändert. aber auch das ändern des cookie pfades ändert leider nichts

  • Dass /etc/default/pulseaudio nicht existiert ist normal. Früher wurde ein init-Skript mit pulseaudio „mitgeliefert“, aber inzwischen ist von Haus aus gar nichts mehr bei pulseaudio dabei, was den Start als systemweiten Daemon ermöglichen würde. Daher auch gleich die Frage

    /etc/systemd/system/pulseaudio.service hast du selbst angelegt (allein der Startbefehl scheint mir unotwendig viele Optionen zu enthalten)?

    und weiter:
    Das Paket pulseaudio-module-bluetooth ist installiert?
    Ist der User »pulse« Mitglied der Gruppe »bluetooth«?
    Welchen Wert hat in der /etc/pulse/daemon.conf »system-instance«?
    (und ist auch kein Kommentarzeichen »;« davor)

    Betreibst du den Pi nur auf der Kommandozeile, über ssh oder ähnliches oder läuft da irgendwas grafisches drauf?

  • Ja die pulseaudio.service habe ich angelegt. Nach mehreren Tutorials, verschiedene Parameter durch probiert. Kenne mich mit Pulseaudio nicht gut genug aus, um das selbst genau entscheiden zu können.
    Hier mal der Inhalt:

    Zitat


    [Unit]
    Description=Pulse Audio

    [Service]
    Type=simple
    $it-idle-time=-1

    [Install]
    WantedBy=multi-user.target

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]pulseaudio-module-bluetooth ist installiert[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]pulse ist Teil der Gruppe bluetooth[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"][font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]system-instance hatte ein ; davor und stand auf no. hab das ; weg gemacht und den wert auf yes gestellt, hat aber keinen Unterschied bewirkt[/font][/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"][font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Das Pi zeigt eigene Grafik an, aber das wird direkt über den Framebuffer umgesetzt und nicht über eine Desktop Umgebung (X)[/font][/font]

  • Kann es sein, dass du nur einen Ausschnitt aus der pulseaudio.service gepostet hast? Die Zeile "$it-idle-time=1" sieht so aus als wäre es ein unvollständiger Screenshot aus einem Textedtor oder als würde das Tutorial nach dem du vorgegangen bist nichts taugen. Vor allem aber fehlt eine ExecStart-Zeile, die erst festlegen würde, was genau gestartet werden soll (das passt aber eigentlich wieder nicht zu den Meldungen deines Eröffnungsposts).

    Meine pulseaudio.service sieht zB so aus

  • Oh tut mir leid, da wurde tatsächlich was abgeschnitten. Hier die volle Datei:

    Zitat


    [Unit]
    Description=Pulse Audio

    [Service]
    Type=simple
    ExecStart=/usr/bin/pulseaudio --system --disallow-exit --disable-shm --exit-idle-time=-1

    [Install]
    WantedBy=multi-user.target

  • Ok, --disable-shm ist als Option afaik überflüssig, weil es sowieso deaktiviert wird, wenn pulseaudio als systemweiter Daemon läuft, --system ist so wie Pulseaudio bei dir gestartet wird auch überflüssig, --exit-idle-time=1 ist vielleicht sogar kontraproduktiv - ich sehe keinen Grund warum sich Pulseaudio als systemweiter Daemon nach einer Sekunde Inaktivität beenden sollte, denn die Audiogeräte blockiert er sowieso nicht länger als notwendig, bleibt nur noch --disallow-exit und auch dafür sehe ich eigentlich keinen Grund.

    Ich würde also vorschlagen, dass du die Optionen erst einmal alle weglässt und einfach einmal ausprobierst ob Pulseaudio an sich (ohne Bluetooth) läuft und funktioniert (mit der Klinkenbuchse des Raspberry Pi).

    Code
    $ pulseaudio --check && echo ok


    sollte ok nur dann ausgeben, wenn Pulseaudio läuft, alternativ sollte "systemctl status pulseaudio" denselben Zweck erfüllen. Die Wiedergabe könntest du mit paplay und einem Kopfhörer testen

    Code
    $ paplay /usr/share/sounds/alsa/Front_Left.wav


    Wenn das zuverlässig funktioniert widmen wir uns dem Teil mit Bluetooth...

  • Okay hab den Service angepasst und das bluetooth modul wieder raus geworfen.

    Zitat

    $ pulseaudio --check && echo ok

    gibt kein ok aus aber

    Zitat

    $ sudo systemctl status pulseaudio

    gibt

    Zitat

    ● pulseaudio.service - Pulse Audio Sound System
    Loaded: loaded (/etc/systemd/system/pulseaudio.service; enabled)
    Active: active (running) since Fri 2016-05-20 15:50:06 UTC; 4min 24s ago
    Main PID: 572 (pulseaudio)
    CGroup: /system.slice/pulseaudio.service
    └─572 /usr/bin/pulseaudio

    und ich kann auch sounds spielen. Leider wird auch

    ausgegeben. Habe eine 7.1 USB Soundkarte angeschlossen, möchte davon aber nur Front und Surround (4 Channel) nutzen.

  • Bis jetzt sind es alles nur Warnungen und nichts schlimmes. Sollen die 4 Kanäle dasselbe abspielen oder willst 2x Stereo und unterschiedliche Dinge darüber wiedergeben oder etwas ganz anderes?


    Nun zu Bluetooth: Wenn du die Zeilen

    Code
    load-module module-bluetooth-discover
    load-module module-bluetooth-policy
    load-module module-bluez5-device
    load-module module-bluez5-discover


    an die /etc/pulse/system.pa hängst sollten alle für Bluetooth notwendigen Module geladen werden. Nachdem du also das Bluetooth-Gerät verbunden hast, könnte es bereits funktionieren.

    Sicher, dass noch etwas fehlt bin ich aber nicht, weil ich die Audiowiedergabe bis jetzt nur in der anderen Richtung ausprobiert habe - das werde ich aber noch nachholen.

  • Die 4 Kanäle sollen das selbe abspielen. Aber dazu mach ich noch n eigenen Thread auf, da hängt noch mehr dran. Eins nach dem anderen.

    Habe das bluetooth modul wieder installiert und die system.pa angepasst. Bekomme jetzt wieder:

  • Verflixt da sieht man ja nicht einmal an welchem der Module er scheitert. Kommentier am besten alle bis auf eines mit # aus. Wenn Pulseaudio dann immer noch nicht startet ist das einzige nicht auskommentierte Modul schuld andernfalls entfernst du einzeln die Kommentarzeichen vor den anderen Modulen damit wir sehen bei welchem der Fehler liegt.

    oder alternativ hilft vielleicht die Ausgabe von

    Code
    # journalctl -p 7 -u pulseaudio.service

    Einmal editiert, zuletzt von smutbert (20. Mai 2016 um 22:12)

  • Geht :)

    module-bluez5-device sollte nicht in der system.pa stehen. Hab gelesen, dass es automatisch auf Anfrage geladen wird.
    Danach hat es sich beschwert, dass module-bluez5-device nur einmal geladen werden darf. Also die Zeile auch entfernt und jetzt kann ich mich mit dem Raspberry connecten und Musik abspielen.
    Die Qualität ist mittelmäßig und standardmäßig ist die Lautstärke auf gefühlt Maximum aber damit kann man arbeiten.

    Jetzt fehlt noch, dass man vom Raspberry aus die Wiedergabe steuern kann (Pause/Play, Previous, Next) und dass ich Angaben über das aktuelle Lied bekomm, die ich anzeigen kann.

  • Wenn man vom raspberry aus die Wiedergabe steuern können soll, würde ich eigentlich auf so etwas wie mpd setzen.

    Das lässt sich lokal oder über eine Netzwerkverbindung mit mpd-Clients bedienen, die es für so ziemlich alle Geräte gibt, die zwischen 0 und 1 unterscheiden können. Das passt nur nicht ganz zu Bluetooth.
    Wenn ich dich nicht missverstanden habe, dann verwendest du bis jetzt ja einen raspberry mit USB-Soundkarte als eine Art drahtlose "Bluetooth-Soundkarte", die gar keine direkte Möglichkeit hat zu wissen was sie da wiedergibt oder auf den gelieferten Audiodatenstrom irgendeinen Einfluss zu nehmen. Für dieses Szenario fehlen mir die Ideen...

    Einmal editiert, zuletzt von smutbert (21. Mai 2016 um 20:13)

  • Haha das war keine Frage, wie ichs umsetzen könnte sondern nur eine Info, wie ich weiter machen will :) Audio Control ist bereits umgesetzt.
    Ich schreibe ein Multimedia System für mein Auto (Mit Touchscreen).

    Der Vollständigkeit halber: Informationen über den aktuellen Audio Stream (inklusive Titel, Artist, Album etc) und die Möglichkeit für Play/Pause, Prev/Next bekommt man über den DBus, insbesondere über das qdbus command line tool.
    Hier eine Anleitung:
    https://www.reddit.com/r/raspberry_pi…luetooth_guide/

    Damit man den DBus ohne X in einem Programm verwenden kann, wird folgendes noch benötigt:

    Code
    putenv("DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket");

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!