Sound mit Java und externer Soundkarte abspielen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Moin OliPI,

    ich muss sagen dieses Alsateil ist richtig gut. Muss ich mir merken.

    Das Ergebnis ist, du hast 2 Configdateien! Eine globale /etc/asound.conf und eine für deinen User /home/xyz/.asoundrc.

    Das kann man machen, aber dann sollten sie gleich sein. Ausser wenn der User es bewusst will!!

    Bei meinem AllesMusikSpieler ist kein Benutzer angemeldet. Ergo muss ich die globale Datei haben.

    Deine /home/xyz/.asoundrc hat eine kleine Einstellung die, höchstwahrscheinlich zu dem Fehler führt.

    Stell diese Datei kalt. Du findest sie mit ls -la. Benenn sie um oder lösche sie oder mach sie genauso wie die /etc/asound.conf

    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Ok also ich hab das jetzt gemacht, es kommt aber immernoch der gleiche Fehler.

    Ich hab aber mal mit Java ein bisschen rumprobiert. Es gibt da ja zwei verschiedene Möglichkeiten einen Sound abzuspielen. Einmal mit dem Objekt Clip und einmal mit dem Objekt SourceDataLine.

    Mit dem Objekt SourceDataLine funktioniert es nur mit dem Objekt Clip nicht.

    Das Ding ist aber das bei mir verschiedene Sounds gleichzeitig in mehreren Threads abgespielt werden sollen. Bei der SourceDataLine werden sie aber trotzdem nacheinander abgespielt und bei dem Clip geht das super mit dem gleichzeitig abspielen.

    Oder kann man das mit der SourceDataLine doch irgendwie machen?

    • Offizieller Beitrag

    Mit Java kann ich nicht dienen, da habe ich keine Ahnung. Im folgenden Link (ja der ist verstaubt) werden Grundsätze gezeigt, die Dir evtl. auf die Sprünge helfen könnten.

    https://dbs.cs.uni-duesseldorf.de/lehre/docs/jav…ml/k100300.html Vermutlich kennst Du den aber schon. Da wird u.a. geschrieben, dass sich Clip eher für kleinere Datenmengen eignet.

  • Moin OliPi,

    ist es richtig das du Raspbian mit Desktop nutzt??

    Wenn ja, dann wird die .asoundrc immer wieder erstellt.

    Dann solltest du die /etc/asound.conf löschen und nur die /home/pi/.asoundrcnutzen.

    Es sollten aber nur die Sachen drin stehen, die ich dir gegeben habe!

    Mhm, ich sehe gerade das da noch was falsch ist.

    pcm_slave.s12 { pcm "hw:0,0" rate 48000 }

    pcm.rate_convert { type rate slave s12 } <<-- Das passt nicht.

    Diese 2 Zeilen gehören gelöscht!

    Es macht in meinen Augen keinen Sinn mit mehreren Sounds gleichzeitig zu arbeiten, wenn es grundsätzlich nicht geht.

    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

    3 Mal editiert, zuletzt von Bernd666 (9. Juni 2018 um 01:18) aus folgendem Grund: ( gelöscht und dafür / gesetzt

  • Hi,

    also ich hab die asound.conf jetzt mal gelöscht, das gib aber auch nicht das gewünschte Ergebnis.

    Ich hab hier mal einen Javaseitigen Lösungsvorschlag aber bei Java9 funktioniert das irgendwie nicht:

    https://nealvs.wordpress.com/2017/08/11/jav…i-with-openjdk/

    Ich möchte eure Zeit wirklich nicht unnötig verschwenden, aber ohne die Funktion, dass mehrere Sounds gleichzeitig abspielen ist mein Programm sinnlos. Es handelt sich nämlich um einen Drumcomputer.

  • Moin OliPI,

    nein, das verstehst du falsch.

    Es muss erstmal sicher sein, das SOUND funktioniert!!

    Wenn dann dein Drumcomputer Töne abgibt dann öffnet der das Device "Sound" und kann dann alle Töne gleichzeitig abspielen.

    Aber dazu..... Nee, keine Wiederholung meinerseits.

    Wie sieht den nun deine /home/pi/.asoundrc aus??

    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Moin OliPi,

    ist schon merkwürden!

    Lass mich mal zusammenfassen.

    -Betriebsystem ist nun Raspbian Stretch Lite

    - Ausser Update und Einrichten hast du noch nichts gemacht?

    Sprich du hast ein neues System??

    Kannst du eventuell auch mal die USB-Soundkarte weglassen??

    So, das nur das ursprüngliche System vorhanden ist!

    Dann hätte ich gern die Ausgabe von aplay -l

    Gruss Bernd


    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

    Einmal editiert, zuletzt von Bernd666 (18. Juni 2018 um 00:13)

  • Ich hab das jetzt auch mal mit Soundkarte gemacht da kommt dann das raus.

    Code
    **** Liste der Hardware-Geräte (PLAYBACK) ****
    Karte 2: Pro [Sound Blaster X-Fi Go! Pro], Gerät 0: USB Audio [USB Audio]
        Sub-Geräte: 1/1
        Sub-Gerät #0: subdevice #0
    • Offizieller Beitrag

    Wie gesagt sehr seltsam... Normal wäre es in etwa so ohne extra Soundcard:

  • Ich habe jetzt nochmal ein bisschen geschaut. Dabei habe ich rausgefunden das es auch Soundkarten gibt die man direkt an den Pi anschließt.

    Wäre das eine Alternative oder muss man die ebenfalls wie eine USB Soundkarte konfigurieren?

  • Moin OliPi,

    Sage ich es mal mit Radio Eriwan.... Im Prinzip ja

    Also, es gibt I2S-Soundkarten die haben einen Mixer dabei und wiederum Andere, die nicht.

    Da muss man sich bei dem Hersteller mal genau informieren.

    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

Jetzt mitmachen!

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