MPC/MPD meldet: Device or resource busy

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo Alle,

    Auf meinem System mit Raspberry Pi Zero und dem AIY-Image Release 2019-11-13 läuft das AIY Voice Hat.

    Zusätzlich soll auf dem System aber noch MPC/MPD laufen.

    Hintergrund ist der, dass mit der Spracherkennung von AIY MPC/MPD gesteuert werden soll, sobald bestimmte

    Schlüsselwörter erkannt wurden. Damit kann man neben dem Google Assistant z.B. auch Radio hören.

    Das Problem, womit ich mich schon einige Tage herumplage ist, dass ich MPC/MPD nicht so recht zum laufen bekomme.

    Code
    ~ $ mpc play 1

    meldet:

    ERROR: Failed to open "My ALSA Device" (alsa); Failed to open ALSA device "default": Device or resource busy

    Die betreffenden Dateien und Verzeichnisse von MPC/MPD habe ich schon überprüft aber sScheinbar hat es doch mit den Rechten zu tun,

    da das funktioniert:

    Code
    ~ $ aplay /usr/share/sounds/alsa/Front_Center.wav

    aber beim Aufruf als root wieder Fehler "...Device or resource busy" gemeldet wird:

    Code
    ~ $ sudo aplay /usr/share/sounds/alsa/Front_Center.wav

    Noch einige Diagnosedaten:

    Wie kann man hier weiter vorgehen?

    Wobei MPC/MPD neu zu installieren wäre keine gute Idee, da ich schon bei der Installation mehrfach ansetzen musste.

    Vielen Dank schon mal.

    Gruß

    • Offizieller Beitrag

    Hallo kanne,

    willkommen im Forum! ;)

    Was sind die Ausgaben von:

    Code
    cat ~/.asoundrc
    # und von
    cat /etc/asound.conf

    ?

    Ich vermute das letztere Datei nicht existiert. Falls das so ist, dann kopiere den Inhalt (oder die Datei) von ~/.asoundrc nach /etc/asound.conf.

  • Hallo hyle, vielen Dank

    beide Dateien existieren und sind identisch, der Inhalt:

  • Hallo

    Außer die Verzeichnisse (die sind unverändert seit der Installation) habe ich alles auskommentierte gelöscht.

    Gruß

  • Hallo,

    ich hab nochmal die Dateien asound.. überprüft. Dabei hat die .asoundrc folgende Rechte.

    Code
    -rw-r--r-- 1 root pi 351 Mar 26 11:15 .asoundrc

    Sollte die nicht pi gehören und zu Gruppe audio gehören? Ist vielleicht nicht von Bedeutung, da sie alle lesen können.

    Gruß

  • nein, root ist nicht in der Gruppe audio (sollte er nicht trotzdem darauf zugreifen können?)

    und 2. bei .asoundrc hab ich den Besitzer in pi geändert, aber am Verhalten hat sich nichts geändert.

    • Offizieller Beitrag

    Ich glaube hier erstmal nicht an einen Fehler im mpd, denn zumindest

    Code
    ~ $ sudo aplay /usr/share/sounds/alsa/Front_Center.wav

    sollte funktionieren, wenn mit dem User pi auch etwas zu hören ist und die beiden alsa-Konfigurationsdateien (~/.asoundrc und /etc/asound.conf) identisch sind.

    Könnte es irgendwie sein, dass dieses Sounddevice oder irgendwelche Abhängigkeiten nur für pi installiert wurde, ähnlich wie man das mit Modulen für Python machen kann? :conf:

  • na ja, das könnte schon sein. Bloß ich weiß nicht, wo man daran gehen könnte.

    Ich finde auch nichts, wo die Voice-Hat Hardware benutzt wird.

    Code
    :~ $ aplay -l
    
    **** List of PLAYBACK Hardware Devices ****
    card 0: sndrpigooglevoi [snd_rpi_googlevoicehat_soundcar], device 0: Google voiceHAT SoundCard HiFi voicehat-codec-0 [Google voiceHAT SoundCard HiFi voicehat-codec-0]
    Subdevices: 0/1
    Subdevice #0: subdevice #0
  • ich hab den Loglevel auf "verbose" gesetzt und mpd neu gestartet (12:51). Anschließend mpc play 0 (Index-Fehler) und mpc play 1 ausgeführt. Inhalt /var/log/mpd/mpd.log:

    Verwundert bin ich über das "player: played "bossa2.mp3"" beim Start von mpd. Ich habe mal in der mpd.conf "restore_paused "no"" eingetragen, was aber auch nichts verändert hat.

  • Apr 11 12:51 : state_file: Loading state file /var/lib/mpd/state
    Apr 11 12:51 : playlist: play 0:"bossa2.mp3"

    im state-File /var/lib/mpd/state merkt sich der mpd, was er zuletzt abgespielt hat.

    der mpd läuft als System-Dämon mit owner mpd.

    mpd spielt Playlists aus dem Verzeichnis /var/lib/mpd/playlists ab.

    Am besten man löscht die gemerkte Playlist und lädt eine neue.

    mpc ls zeigt die vorhandenen Playlists.

    mpc clear löscht die aktuelle Playlist (nur aus dem state_file)

    mpc load beispiel lädt die Playlist-Datei /var/lib/mpd/playlists/beispiel.m3u

    mpc play oder mpc play 1 spielt den 1. Titel bzw. den 1. Stream der Playlist ab.

    • Offizieller Beitrag

    na ja, das könnte schon sein. Bloß ich weiß nicht, wo man daran gehen könnte.

    Ich finde auch nichts, wo die Voice-Hat Hardware benutzt wird.

    Das geht mir ehrlich gesagt auch so. :conf:

    Erschwerend hinzu kommt für mich, dass ich den Voice-Hat nicht kenne. Kannst Du uns mal bitte einen Link zu der von Dir verwendeten Anleitung zeigen? Vielleicht könnte man davon etwas herleiten.

Jetzt mitmachen!

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