2017-12-21 54 views
1

Ich schrieb Skript über Zeitplan Erinnerung, und ich wünschte, ich kann ein Audio spielen, die ich zuvor gewählt. Ich meine auf meinem Programm Variable Sounds Suche nach Datei mit. MP3, aber es funktioniert nicht. hilf mir bitte. dankwie zu finden. MP3-Datei mit Zenity

nama=$(zenity --entry --text="Enter your name:" --entry-text " "); 

date=$(zenity --calendar --text "choose your event's day" --date-format=%Y-%m-%d); 

tang=$(zenity --forms --date-format=`date | awk ¥{print $1 $3,$2,$6}¦ `| time :`date | awk '{print $4}'`); 

    nambah=$(zenity --forms --ok-label="Done" --cancel-label="Cancel" --height=100 \ 
--title "Time" \ 
--text "Input Time(format 24)" \ 
--add-entry "Input Hours:Minutes:Second"); 

sounds=$(find | *.mp3 | zenity --list --column "choose sounds"); 


text=$(zenity --text-info --title "create event" --editable --font=Purisa); 

a=1 
while (a==1) 
do 

    cekdate="`date '+%Y-%m-%d'`"; 
    cektime="`date '+%H:%M:%S'`"; 
echo "echo cektime: $cektime" 
echo "echo cekdate: $cekdate" 
echo "nambah: $nambah" 
echo "date: $date" 
if [ "$nambah" == "$cektime" -a "$date" == "$cekdate" ] 
then 
echo -n 
d=`echo "Time: $nambah"` 
break 
fi 
done 

out=$(zenity --info --text "REMEMBER!! $nama today is $date you have event $d 

$text "); 
+3

Diese Zeile: 'klingt = $ (Finden Sie | * .mp3 | zenity --list --column "wähle Töne"); 'ist dein Problem richtig? So verwenden Sie den Befehl find nicht, um nach * .mp3-Dateien zu suchen ... Bitte bestätigen Sie. – Nic3500

+2

Während ich hier bin, FYI, sollten Sie dies lesen: https://www.networkworld.com/article/2694433/unix-good-coding-practices-for-bash.html und Ihren Code einrücken. ';' ist nicht in jeder Zeile erforderlich. – Nic3500

+1

Lernen Sie http://shellcheck.net ** zu benutzen, bevor Sie Ihren Code hier posten ;-). Wenn Sie Shellcheck verwenden, müssen Sie eine richtige "She-Bang" -Zeile als erste Zeile einfügen, normalerweise '#!/Bin/bash'. UND vermeiden Sie die Top 10 Shell Skript Anfänger Fehler durch https://StackOverflow.com/Tags/Bash/info mehrmals zu lesen. Viel Glück. – shellter

Antwort

1

Sie haben zwei Orte, an denen Sie Änderung in Ihrem Code vornehmen müssen:

  1. ändern die Art und Weise Sie find die MP3-Dateien:

    sounds=$(find <path_to_mp3_directory> -type f -name "*.mp3" | zenity --list --column "choose sounds") 
           ^^^^^^^^^^^^^^^^^^^^^^#this must be edited to your needs 
    
  2. Rufen Sie Ihren Lieblings MP3-Player am Ende Ihres Codes, falls erforderlich müssen Sie es vorher installieren. Überprüfen Sie, was auf Ihrer Plattform verfügbar ist und verwenden Sie Ihr Paket-Manager zu installieren

    #play your music with your favorite player : mplayer, ffplay, nvlc, play (sox) or mpg123 (if you do not have the tools: sudo apt-get install mpg123/you favorite mp3 player) 
    mplayer $sounds #mpg123 $sounds 
    

Ihr Code werden:

nama=$(zenity --entry --text="Enter your name:" --entry-text " ") 

date=$(zenity --calendar --text "choose your event's day" --date-format=%Y-%m-%d) 

tang=$(zenity --forms --date-format=`date | awk \{print $1 $3,$2,$6}| `| time :`date | awk '{print $4}'`) 

nambah=$(zenity --forms --ok-label="Done" --cancel-label="Cancel" --height=100 \ 
--title "Time" \ 
--text "Input Time(format 24)" \ 
--add-entry "Input Hours:Minutes:Second"); 

sounds=$(find <path_to_mp3_directory> -type f -name "*.mp3" | zenity --list --column "choose sounds") 


text=$(zenity --text-info --title "create event" --editable --font=Purisa) 

a=1 
while (a==1) 
do 

    cekdate="`date '+%Y-%m-%d'`" 
    cektime="`date '+%H:%M:%S'`" 
    echo "echo cektime: $cektime" 
    echo "echo cekdate: $cekdate" 
    echo "nambah: $nambah" 
    echo "date: $date" 
    if [ "$nambah" == "$cektime" -a "$date" == "$cekdate" ] 
    then 
     echo -n 
     d=`echo "Time: $nambah"` 
    break 
    fi 
done 

out=$(zenity --info --text "REMEMBER!! $nama today is $date you have event $d 
$text ") 
#play your music with your favorite player : mplayer, ffplay, nvlc, play (sox) or mpg123 (if you do not have the tools: sudo apt-get install mpg123/you favorite mp3 player) 
mplayer $sounds # or mpg123 $sounds, etc. 
+1

Vielen Dank nochmal Allan, :) das hat mir wieder geholfen. ehrlich ich bin der Anfänger –

+0

Wenn Sie zufrieden sind mit meiner Antwort akzeptieren Sie es oder stimmen Sie ab :) Danke – Allan