Python Bluetooth Aplay Unknown PCM

  • Für mein Internetradio (Jessie, Python) habe ich nach: Bluetooth Audio für (headless) Raspbian Jessie

    endlich meinen Bluotooth Lautsprecher BooseMini zum Laufen gebracht.
    Durch die Bluetooth Konfigurationen kann ich im Programm per mpc enable x bzw. mpc disable x die Lautsprecher umschalten.

    Das Radio wird über eine IR Fernsteuerung (LIRC) bedient. Zur Zeitanzeige und Senderansage nutze ich Pico2wave und aplay.

    Aplay funktioniert als Komandoeingabe:

    Code
     mpc stop
     aplay -D headset /usr/share/sounds/alsa/Front_Center.wav  
     mpc play

    In dem Python Skript funktionierte dies vorher auch ohne die Änderungen der BT Konfiguration.

    Nach der BT Änderung muss aplay mit -D headset ausgeführt werden

    (headset ist mein Boose Lautsprecher und wurde aus der Anleitung übernommen)


    Mit python testalsa.py

    und subprocess.call(["aplay", "-D headset", "/usr/share/sounds/alsa/Front_Center.wav"])

    bekomme ich folgenden Fehler angezeigt.

    Code
    ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM headset
    aplay: main:722: Fehler beim Öffnen des Gerätes: Datei oder Verzeichnis nicht gefunden

    testalsa.py ein Auszug aus dem Radioprogramm:

    Ich währe dankbar für einen Tipp, der mir zu einer Lösung verhilft.

    Grüße,

    Thomas

  • Hallo Thomas,

    subprocess.call(["aplay", "-D headset", "/usr/share/sounds/alsa/Front_Center.wav"])

    da ist ein kleiner Fehler drin, richtig ist:

    subprocess.call(["aplay", "-D", "headset", "/usr/share/sounds/alsa/Front_Center.wav"])


    Schönen Gruß, kle

    Edited once, last by kle ().

  • Ich bin begeistert. Mein Testprogramm und auch mein Radioprogramm geben jetzt,

    wenn man alles richtig macht, den Text fehlerfrei aus.

    Danke noch mal für Deine BT Anleitung und Grüsse aus Hamburg

    Thomas

  • Hallo Thomas,

    Dein Radio hört sich interessant an: mpd, LIRC, pico2wave, BT, ... wie die einzelnen Komponenten zusammenwirken, hast Du das schon irgendwo beschrieben? Da brauchst Du kein Display?

    Gruß kle

  • Hallo kle,

    da der Regen die Sonne abgelöst hat, habe ich wieder etwas Zeit Deine Fragen zu beantworten.

    Mein einfaches Internetradio hatte schon mal ein 4x20 LCD Display, das ich wieder aufgegeben habe (zu billig und schlecht ablesbar).

    Mit Rotary Encodern habe ich auch experimentiert. Durch eine alte Hauppauge DSR-0112 IR Fernsteuerung läuft mein Python Script schon 3 Jahre immer wieder mit Änderungen.

    Zuletzt habe ich auch mit dem NewtronRadio experimentiert. Habe das Ganze mit Lautsprecher in ein Gehäuse gebaut und festgestellt, dass auch hier IR (LIRC) und BT brauchbar wären.

    In der NewTron-Radio: Auflösungsunabhängiges Tron-Radio wird ein newtron-radiolirc.py veröffentlich (finde gerade den Eintrag nicht). Dies LIRC Änderungen möchte ich wenn ich alle verstanden habe, für mich verwenden.

    Ich ein Quimat 3,5 Touchbildschirm, TFT (Affiliate-Link) gekauft, leider ohne abschaltbare Hintergrundbeleuchtung d. h. ich werde mir nochmal einen besseren Bildschirm kaufen.

    Meine Aufzeichnungen sind nicht immer vollständig, das Python Programm funktioniert, aber ich bin kein Informatiker.

    Sollte ich das Ganze veröffentlichen, müsste ich nach dem Sommer noch mal einige Zeit investieren.

    Nun noch 2 Anmerkungen zu BT.

    Da der BT Lautsprecher auch im Garten mit dem iPad verbunden ist, muss bei dem Wiederanschluss an den RPi ein:

    bluetoothctl: connect xx.xx.xx.xx erfolgen.

    Im Programm habe ich ein mpc enable 1 (Bose) und ein mpc enable 2 (3,5 mm Lautsprecher)

    eingefügt um ggf. immer einen Lautsprecher ansprechen zu können. Kann man natürlich auch über eine IR Taste steuern.


    Grüße, Thomas

  • Hallo Thomas,

    Im Programm habe ich ein mpc enable 1 (Bose) und ein mpcenable 2 (3,5 mm Lautsprecher)

    eingefügt

    im newtron-radio gibt es doch das Fenster "MPD Audio Outputs", dort kann man mit CheckBox den Lautsprecher auswählen. Dahinter steckt auch mpc enable bzw. mpc disable. Aber das wirst Du gesehen haben.

    Nun noch 2 Anmerkungen zu BT.

    Du beschreibst Wechsel des BT Lautsprechers zwischen Audio Geräten. Du erwähntest:

    • BT connect am RPi und
    • mpc disable/enable

    ich habe festgestellt, daß BT connect nur funktioniert, wenn der BT Lautsprecher (mpd audio_output) disconnected ist.

    Schönen Gruß, kle