Musik abspielen

  • Hallo zusammen,
    ich habe noch sehr wenig Erfahrung mit AutoIt. Nun möchte ich ein Programm schreiben das folgendermaßen aussieht nachdem man es gestartet hat:

    Es soll soll sich ein Fenster öffnen bei dem man 5 Buttons/Felder sind wo man 5 Musikdateien öffnen kann indem man die Platte durchsucht. Dann ist da noch ein Feld bei dem man eine Zeit einstellen kann (1-60sec).
    Ganz unten soll dann noch ein "OK" Button sein. Wenn man den gedrückt hat werden die 5 Dateien nacheinander abgespielt. Die Zeit die man eigegeben hat ist die Zeit zwischen den Musikstücken.

    Also ein Programm mit dem man 5 beliebige Musikstücke abspielen kann und die Zeit zwischen den Stücken auswählen kann sodas diese automatisch abgespielt werden.

    Wie mache ich so ein Programm, wie gange ich da am Besten an? Es muss nicht genau so sein wie oben beschrieben, da ich flexibel bin, aber es sollte die gleichen Eigenschaften haben. Ich bitte um qualitative Hilfe. Vielen Dank schon mal im Voraus.
    Wer sich nicht vorstellen kann was ich meine dem habe ich im Anhang noch ein Bild wie ich es mir ungefähr vorstelle.

    Mi freundlichen Grüßen Ardor

    • Offizieller Beitrag

    Hallo und herzlich :willkommen:

    KODA findest du entweder in dem neusten SciTe (SciTe ist ein AutoIt Editor mit Syntax Hiligthing und vielen anderen Features) oder Hier.

    Zum abspielen des Sounds brauchst du SoundPlay($sSounddatei). Da am besten nochmal in der AutoIt hilfe gucken, die du normalerweise hier findest: C:\Programme\AutoIt3\AutoIt.chm

    Mfg Spider

  • Vielen Dank schon mal für die Tipps, nur komm ich grad nich so ganz mit KODA klar, Wie mach ich diese "Durchsuchen Felder" und sonstige Buttons? Und das Sleep Feld?

    Mit freundlichen Grüßen Ardor

  • ich glaub er suchte jemanden ;)
    und es gibt auch kein sleepfeld koda dient nur dazu die optik hinzubekommen alles andere z.b. die ganzen funktionen und so musst du dann wieda in einen edtitor machen z.b. scite ;)

  • OK ich hab jetzt soweit meine Optik. Nun weiß ich aber nicht wie ich das machen soll wie ich die Musikdateien öffne (jede einzeln) und dann das mit dem
    Sleep Modus bei dem man selber die Sekunden auswählen soll. Kann mir da keiner bissle helfen?

    MfG Ardor

  • Ok dann hier mal der Code, hoffe du kannst was damit anfangen...

    [autoit]

    #include <GUIConstants.au3>

    [/autoit][autoit][/autoit][autoit]

    GUICreate("Controled Music Player",300,200)

    [/autoit][autoit][/autoit][autoit]

    $choosebutton1 = GUICtrlCreateButton ("Choose file", 180, 20, 100, 20)
    $choosebutton2 = GUICtrlCreateButton ("Choose file", 180, 45, 100, 20)
    $choosebutton3 = GUICtrlCreateButton ("Choose file", 180, 70, 100, 20)
    $choosebutton4 = GUICtrlCreateButton ("Choose file", 180, 95, 100, 20)
    $choosebutton5 = GUICtrlCreateButton ("Choose file", 180, 120, 100, 20)

    [/autoit][autoit][/autoit][autoit]

    $inputboxfile1 = GUICtrlCreateInput ("", 20, 20, 150, 20)
    $inputboxfile2 = GUICtrlCreateInput ("", 20, 45, 150, 20)
    $inputboxfile3 = GUICtrlCreateInput ("", 20, 70, 150, 20)
    $inputboxfile4 = GUICtrlCreateInput ("", 20, 95, 150, 20)
    $inputboxfile5 = GUICtrlCreateInput ("", 20, 120, 150, 20)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlSetState(-1,$GUI_CHECKED)
    $okbutton = GUICtrlCreateButton ("Play all",120, 170, 70, 20)
    GUICtrlCreateLabel("Time between the songs:", 50, 150, 120, 20)
    $Time = GUICtrlCreateInput("", 180, 150, 20, 17, $ES_NUMBER)
    GUICtrlCreateLabel("seconds", 205, 150, 70, 20)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateGroup("", -99, -99, 1, 1)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    GUISetState ()
    While 1
    $msg = GUIGetMsg()

    If $msg = $choosebutton1 Then
    $file = FileOpenDialog("Choose file","C:","Song files (*.mp3; *.wma; *.wav)", 1 + 2)
    If $msg = $choosebutton2 Then
    $file = FileOpenDialog("Choose file","C:","Song files (*.mp3; *.wma; *.wav)", 1 + 2)
    If $msg = $choosebutton3 Then
    $file = FileOpenDialog("Choose file","C:","Song files (*.mp3; *.wma; *.wav)", 1 + 2)
    If $msg = $choosebutton4 Then
    $file = FileOpenDialog("Choose file","C:","Song files (*.mp3; *.wma; *.wav)", 1 + 2)
    If $msg = $choosebutton5 Then
    $file = FileOpenDialog("Choose file","C:","Song files (*.mp3; *.wma; *.wav)", 1 + 2)

    EndIf
    EndIf

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop

    WEnd
    GUIDelete()

    [/autoit][autoit][/autoit][autoit]

    Exit

    [/autoit]
    • Offizieller Beitrag

    HI,

    hier so ungefähr.

    Spoiler anzeigen
    [autoit]

    #include<GUIConstants.au3>
    #include<Sound.au3>

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("Controled Music Player", 300, 200)
    Global $choosebutton[6], $inputboxfile[6]

    [/autoit] [autoit][/autoit] [autoit]

    $choosebutton[1] = GUICtrlCreateButton("Choose file", 180, 20, 100, 20)
    $choosebutton[2] = GUICtrlCreateButton("Choose file", 180, 45, 100, 20)
    $choosebutton[3] = GUICtrlCreateButton("Choose file", 180, 70, 100, 20)
    $choosebutton[4] = GUICtrlCreateButton("Choose file", 180, 95, 100, 20)
    $choosebutton[5] = GUICtrlCreateButton("Choose file", 180, 120, 100, 20)

    [/autoit] [autoit][/autoit] [autoit]

    $inputboxfile[1] = GUICtrlCreateInput("", 20, 20, 150, 20)
    $inputboxfile[2] = GUICtrlCreateInput("", 20, 45, 150, 20)
    $inputboxfile[3] = GUICtrlCreateInput("", 20, 70, 150, 20)
    $inputboxfile[4] = GUICtrlCreateInput("", 20, 95, 150, 20)
    $inputboxfile[5] = GUICtrlCreateInput("", 20, 120, 150, 20)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetState(-1, $GUI_CHECKED)
    $okbutton = GUICtrlCreateButton("Play all", 120, 170, 70, 20)
    GUICtrlCreateLabel("Time between the songs:", 50, 150, 120, 20)
    $Time = GUICtrlCreateInput("", 180, 150, 20, 17, $ES_NUMBER)
    GUICtrlCreateLabel("seconds", 205, 150, 70, 20)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateGroup("", -99, -99, 1, 1)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $choosebutton[1]
    _fileOpen(1)
    Case $msg = $choosebutton[2]
    _fileOpen(2)
    Case $msg = $choosebutton[3]
    _fileOpen(3)
    Case $msg = $choosebutton[4]
    _fileOpen(4)
    Case $msg = $choosebutton[5]
    _fileOpen(5)
    Case $msg = $GUI_EVENT_CLOSE
    Exit (0)
    Case $msg = $okbutton
    play()
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func play()
    For $i = 1 To UBound($choosebutton) - 1
    If GUICtrlRead($inputboxfile[$i]) <> '' And FileExists(GUICtrlRead($inputboxfile[$i])) Then
    ; am besten noch Sound open und stop einbauen!
    _SoundPlay(GUICtrlRead($inputboxfile[$i]), 1)
    Sleep(GUICtrlRead($Time))
    EndIf
    Next
    EndFunc ;==>play

    [/autoit] [autoit][/autoit] [autoit]

    Func _fileOpen($button)
    Local $file = FileOpenDialog("Choose file", "C:", "Song files (*.mp3; *.wma; *.wav)", 1 + 2)
    If @error Then Return
    GUICtrlSetData($inputboxfile[$button], $file)
    EndFunc ;==>_fileOpen

    [/autoit]

    So long,

    Mega

  • Herzlichen Dank für deine Bemühungen!!!

    Ich weiß vielleicht nervt es, aber ein kleines Prob gibts es noch und zwar die Zeit zwischen den Stücken. Das nächste Stück folgt immer direkt auf das vordere, egal welche Zahl ich reinschreibe. An was kann das liegen?

    MfG Ardor

  • Sleep geht in MILLISekunden, Mega :D. In der Gui gibt man aber Sekunden ein. Der SleepBefehl heißt also...

    Spoiler anzeigen
    [autoit]

    Sleep(GUICtrlRead($Time)*1000)

    [/autoit]