Aufruf von Lame encoder funktioniert im Script nicht

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Druckerfehler, 14.01.2007.

  1. #1 Druckerfehler, 14.01.2007
    Druckerfehler

    Druckerfehler Grünschnabel

    Dabei seit:
    14.01.2007
    Beiträge:
    4
    Zustimmungen:
    0
    Also ich hab mir zum hören meiner mp3's folgendes Shell-Script erstellt:
    -------------------playmp3.sh-------------------------------------
    #!/bin/bash
    lame --decode $1 -|sndfile-play -
    -------------------------------------------------------------------

    Erstens kann ich mein Shell-Script innerhalb der Kommandozeile mit
    bash playmp3.sh mp3file
    aufrufen und zweitens bei Dateinamen mit Leerzeichen bekomme ich immer
    ne Fehlermeldung

    Beispiel:
    bash playmp3.sh Killing\ me\ softly.mp3
    bekomme ich diese Fehlermeldung vom lame-encoder:
    "Param me exceeds arg"
    gebe ich den Dateinamen jetzt mit " ein dann bekomme ich diese Fehlermeldung:
    "Param / me exceeds arg"
    und mit ' funktioniert es auch nicht.

    Da ich hauptsächlich in der shell arbeite wäre es wirklich super wenn mir jemand helfen könnte
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. Vegeta

    Vegeta Tripel-As

    Dabei seit:
    23.06.2006
    Beiträge:
    187
    Zustimmungen:
    0
    Lame ist ein Encoder kein Decoder ( man lame ).
    Zum decoden brauchst Du mpg123, madplay oder etwas in der Art.
     
  4. #3 Druckerfehler, 14.01.2007
    Druckerfehler

    Druckerfehler Grünschnabel

    Dabei seit:
    14.01.2007
    Beiträge:
    4
    Zustimmungen:
    0
    mit der option --decode kann man auch decodieren!

    wenn ich alles manuell eingebe funktioniert's ja auch, halt bloß net mit'm shell-script weil irgendwas mit der Parameterübergabe net stimmt:headup:
     
  5. #4 Schlaubi_fi.de, 14.01.2007
    Schlaubi_fi.de

    Schlaubi_fi.de Mac OS X User

    Dabei seit:
    22.12.2004
    Beiträge:
    304
    Zustimmungen:
    0
    So sollte es gehen (Anführungszeichen um $1):
    Code:
    -------------------playmp3.sh-------------------------------------
    #!/bin/bash
    lame --decode "$1" -|sndfile-play -
    -------------------------------------------------------------------
    
     
  6. Vegeta

    Vegeta Tripel-As

    Dabei seit:
    23.06.2006
    Beiträge:
    187
    Zustimmungen:
    0
    Die Decodefunktion von Lame ist da um mp3 wieder ins wav Format zu konvertieren.
    Wenn ich Deinen Befehl in die Konsole eingebe kommt bei mir ebenfalls der von Dir
    beschriebene Fehler, was mich deshalb wundert ist das Du scheinbar das Soundfile
    abspielen kannst.
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. #6 Druckerfehler, 18.01.2007
    Zuletzt bearbeitet: 18.01.2007
    Druckerfehler

    Druckerfehler Grünschnabel

    Dabei seit:
    14.01.2007
    Beiträge:
    4
    Zustimmungen:
    0
    Probiere es gleich mal aus, hoffe es geht!
    @Vegeta: das liegt am lame --decode $1 -|sndfile-play -
    | |
    V V
    STDIN STDOUT
    zu gut deutsch ich decodiere nach wave und lasse gleichzeitig die ausgabe von lame nach sndfile-play als eingabe verwenden mittels pipe symbol |

    vll. kennst du das ja von DOS
    dir|mor leitet z.Bsp alles im Aktuellen seitenweise verzeichnis auf, so das du immer Leertaste drücken kannst um die nächste Seite anzuzeigen. Was Linux besser macht:
    STDIN,
    STDOUT mittels denen du z.Bsp die Datei Ein-/Ausgabe so umleiten kannst wie ich es in meinem Script vorhabe.

    Hey danke das mit dem "$1" funktioniert!!!!!!!!!
    Habe es beim aufruf von des shell-scripts also z.B:
    ./playmp3.sh "Killing\ me\ softly.mp3" auch mit den
    " probiert auf den gedanken mit "$1" kam ich jetzt net....
    Thanks
    very much thanks
     
  9. #7 Schlaubi_fi.de, 18.01.2007
    Schlaubi_fi.de

    Schlaubi_fi.de Mac OS X User

    Dabei seit:
    22.12.2004
    Beiträge:
    304
    Zustimmungen:
    0
    Dafür sind wir da :D
     
Thema:

Aufruf von Lame encoder funktioniert im Script nicht

Die Seite wird geladen...

Aufruf von Lame encoder funktioniert im Script nicht - Ähnliche Themen

  1. Wie unterdrückt man jegliche Textusgabe beim Aufruf von 'read'? (auch die Leerzeile)

    Wie unterdrückt man jegliche Textusgabe beim Aufruf von 'read'? (auch die Leerzeile): Ich habe ein Bashscript zum Abfragen von Vokabeln geschrieben. Damit nach der Anzeige einer Vokabel nicht gleich die ihrer Übersetzung angezeigt...
  2. [Perl] Perl OO Methodenaufruf in anderem Objekt

    [Perl] Perl OO Methodenaufruf in anderem Objekt: Hallo, Ich bin dabei in Perl ein Pokerspiel zu programmieren, hänge aber momentan an einem Problem, wo ich nicht weiterkomme. Ich habe die...
  3. Univention-Absolventenpreis 2015: Letzter Aufruf zu Einreichungen

    Univention-Absolventenpreis 2015: Letzter Aufruf zu Einreichungen: Der Bremer Linux-Distributor Univention lobt zum achten Mal den Absolventenpreis für herausragende Abschlussarbeiten mit einem Thema im Umfeld von...
  4. Systemaufruf für Zufallszahlen vorgeschlagen

    Systemaufruf für Zufallszahlen vorgeschlagen: Einem Wunsch der Entwickler von LibreSSL nachkommend hat Linux-Veteran Theodore »Ted« Ts'o einen neuen Systemaufruf vorgeschlagen, der eine Reihe...
  5. Shellskript per PHP aufrufen funktioniert nicht

    Shellskript per PHP aufrufen funktioniert nicht: Hallo zusammen, ihr seid meine letze Hoffnung, seit heute morgen versuche ich ein shellskript zum laufen zu bekommen. Folgende...