1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. AndyTR

Beiträge von AndyTR

  • Zahl + 1 senden

    • AndyTR
    • 23. März 2012 um 17:26

    Was soll das Ganze denn zum Schluss werden? Wäre hilfreicher!

  • Zahl + 1 senden

    • AndyTR
    • 22. März 2012 um 20:08
    [autoit]

    For $i = 1 To 1000
    ToolTip($i)
    Sleep(50)
    Next

    [/autoit]
  • Computer Schutz Programm

    • AndyTR
    • 22. März 2012 um 20:04

    Und eigentlich heißt der Satz ja so: :rolleyes: :)
    "Dies sind der Benutzername und das Passwort, welche Sie später für das Ausschalten benötigen."

    So witzig das Ganze :D

  • datei löschen erzwingen

    • AndyTR
    • 18. März 2012 um 01:38

    Vielleicht klappt das hier um die Konsole zu verstecken:

    [autoit]

    ShellExecute("batch.bat", @ScriptDir, "open", @SW_HIDE)

    [/autoit]

    Edit: Christoph is ja ein richtiger Scherzkeks... :pinch:

  • Skript: Filme-Player

    • AndyTR
    • 17. März 2012 um 20:12

    Die einzige Möglichkeit dafür ist in Zeile 50. Hast Du denn einen Ordner gewählt, in dem auch solche Dateien liegen? Ansonsten kommentierst Du mal die Zeile aus.
    Lass Dir _ArrayDisplay($Array_GetFolderFiles) anzeigen, ob dort in dem Array auch Dateien stehen.

    Wie läuft es sonst bei den anderen?

  • Skript: Filme-Player

    • AndyTR
    • 17. März 2012 um 18:17

    Hallo,

    ich möchte Euch ein Skript vorstellen, das ich schon seit langer, langer Zeit selbst benutze, aber dafür ist es eigentlich zu schade.
    Es handelt sich um einen Player für Filme. Ich finde das einfach toller, als im Windows-Explorer zu navigieren.

    Hier eine Liste der wichtigsten Funktionen:

    - ein übersichtliches GUI wird erstellt (mit Covern, wenn vorhanden)
    - zunächst wird selbstständig nach einem Filme-Ordner gesucht (Festplatten, Desktop), anschließend Abfrage
    - bei Bedarf können durch Drücken von "Strg" bei Ausführung weitere Informationen angezeigt werden (Laden dauert dann länger)
    - Informationen: (Länge, Auflösung, Bitrate,) Größe, Format
    - Wiedergabe mittels VLC, andernfalls ist selbstständiges Anpassen notwendig

    Anmerkungen:

    - bei mir läuft alles einwandfrei, es kann aber immer zu Bugs kommen, bitte entschuldigt das
    - die "ffmpeg.exe" ist zu groß für den Dateianhang hier, sie ist nicht zwingend notwendig, ladet sie Euch irgendwo herunter,
    z.B.: chip.de/downloads/FFmpeg_35368574.html , ffmpeg.org , videohelp.com/tools/ffmpeg , tripp.arrozcru.org
    - die Cover müssen im dafür vorgesehenen Ordner liegen und genauso wie die Film-Dateien heißen ( natürlich mit Ausnahme der Dateiendung)
    - ein Seitenverhältnis von 2:3 wird benutzt, alles andere wird skaliert oder verzerrt (nehmt die Maße des Dummy-Covers als Beispiel)

    Ansonsten viel Spaß mit dem Skript. Natürlich möchte ich, dass es nur für legale Inhalte genutzt wird :rolleyes:

    Spoiler anzeigen
    [autoit]

    ; --------------------------------------------
    ; Filme-Player | AndyTR | autoit.de
    ; --------------------------------------------
    ; Ich verweise darauf, dass die Nutzung dieses
    ; Skripts nur für legale Inhalte gewollt ist!
    ; --------------------------------------------
    ; Ansonsten viel Spaß damit...
    ; --------------------------------------------

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

    #include <Constants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIScrollBars.au3>
    #include <Misc.au3>
    #include <ScrollBarConstants.au3>
    #include <WindowsConstants.au3>

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

    HotKeySet("{ESC}", "_Exit")

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

    Global $X = 2, $Y = 2, $Cover_Breite = 100, $Cover_Abstand = 2, $Scrollbar_Abstand = 2 ; für Aussehen anpassen
    Global $Vlc = @ProgramFilesDir & "\VideoLAN\VLC\vlc.exe" ; für anderen Pfad/anderes Programm anpassen
    Global $Advanced_Infos, $Pfad

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

    Opt("GUIOnEventMode", 1)
    Opt("TrayAutoPause", 0)
    Opt("TrayMenuMode", 3)
    Opt("TrayOnEventMode", 1)

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

    TraySetToolTip("Filme-Player")

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

    If _IsPressed("11") or _IsPressed("A2") Then ; Strg
    $Advanced_Infos = True
    Else
    $Advanced_Infos = False
    EndIf

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

    ; für anderen Filme-Pfad anpassen ($Pfad = "...")
    For $i = 65 To 90 Step + 1
    $Pfad = String(BinaryToString($i)) & ":\Filme\"
    If DirGetSize($Pfad) >= 0 Then ExitLoop
    If $i = 90 Then $Pfad = @DesktopDir & "\Filme\"
    Next
    If DirGetSize($Pfad) = -1 Then
    Do
    $Pfad = FileSelectFolder("Bitte wähle einen Filme-Ordner aus:", "")
    Until $Pfad <> ""
    EndIf

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

    If StringRight($Pfad, 1) <> "\" Then $Pfad &= "\"
    Global $Array_GetFolderFiles = Array_GetFolderFiles($Pfad)
    If $Array_GetFolderFiles[1] = "" Then Exit ; wenn keine Filme vorhanden sind

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

    Tray()
    Filme()
    Gui()

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

    While 1
    Sleep(100)
    WEnd

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

    Func Array_GetFolderFiles($sPath)
    Local $oFSO = ObjCreate("Scripting.FileSystemObject")
    Local $sFiles = ""
    For $sFile In $oFSO.GetFolder($sPath).Files ; für weitere Datei-Formate anpassen
    If StringRight($sFile.Path, 4) = ".avi" or StringRight($sFile.Path, 4) = ".mkv" or StringRight($sFile.Path, 4) = ".mpg" Then $sFiles &= $sFile.Path & "|"
    Next
    Return StringSplit(StringTrimRight($sFiles, 1), "|")
    EndFunc

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

    Func Tray()
    TrayCreateItem($Array_GetFolderFiles[0] & " Filme | " & Groesse())
    TrayItemSetState(-1, $TRAY_DISABLE)
    TrayCreateItem("")
    TrayCreateItem("Beenden")
    TrayItemSetOnEvent(-1, "_Exit")
    EndFunc

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

    Func Groesse()
    Local $Groesse = 0
    For $i = 1 To $Array_GetFolderFiles[0] Step + 1
    $Groesse += FileGetSize($Array_GetFolderFiles[$i])
    Next
    Return Round($Groesse / (1024 * 1024 * 1024)) & " GB"
    EndFunc

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

    Func Filme()
    Global $Anzahl_Filme = $Array_GetFolderFiles[0]
    If $Advanced_Infos = False Then Global $Filme[$Anzahl_Filme][4]
    If $Advanced_Infos = True Then Global $Filme[$Anzahl_Filme][7]
    For $i = 0 To $Anzahl_Filme - 1 Step + 1
    $Filme[$i][0] = $Array_GetFolderFiles[$i + 1]
    $Filme[$i][1] = StringTrimRight(StringTrimLeft($Array_GetFolderFiles[$i + 1], StringLen($Pfad)), 4)
    $Filme[$i][2] = StringUpper(StringRight($Array_GetFolderFiles[$i + 1], 3))
    $Filme[$i][3] = Round(FileGetSize($Array_GetFolderFiles[$i + 1]) / (1024 * 1024)) & " MB"
    If $Advanced_Infos = True Then Laenge_Bitrate_Aufloesung($Array_GetFolderFiles[$i + 1], $i)
    Next
    EndFunc

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

    Func Laenge_Bitrate_Aufloesung($File , $i)
    Local $Film = ""
    $Film = Run('ffmpeg.exe -i "' & $File & '"', @ScriptDir, @SW_HIDE, 4)
    While 1
    $Film &= StderrRead($Film)
    If @error Then ExitLoop
    WEnd
    Local $Duration = StringLeft(StringTrimLeft($Film, StringInStr($Film, "Duration: ") + 10), 4) & " Std"
    Local $Bitrate_2 = StringLeft(StringTrimLeft($Film, StringInStr($Film, "Bitrate: ") + 8), 6)
    Local $Bitrate = StringLeft($Bitrate_2, StringInStr($Bitrate_2, " ") - 1) & " KB/s"
    Local $Solution_2 = StringLeft(StringTrimLeft($Film, StringInStr($Film, "p, ") + 2), 10)
    Local $Solution = StringReplace(StringReplace(StringLeft($Solution_2, StringInStr($Solution_2, " ") - 1), ",", ""), "x", " x ")
    $Filme[$i][4] = $Solution
    $Filme[$i][5] = $Bitrate
    $Filme[$i][6] = $Duration
    EndFunc

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

    Func Gui()
    Local $Rechter_Rand = @DesktopWidth - $X
    Local $Hoehe = $Cover_Breite * 1.5 + $Scrollbar_Abstand + 17
    If $Anzahl_Filme * ($Cover_Breite + $Cover_Abstand) - $Cover_Abstand < @DesktopWidth - 2 * $X Then
    $Rechter_Rand = $X + $Anzahl_Filme * ($Cover_Breite + $Cover_Abstand) - $Cover_Abstand + 5
    $Hoehe = $Cover_Breite * 1.5
    EndIf
    Local $GUI = GUICreate("Filme-Player", $Rechter_Rand - $X, $Hoehe, $X, $Y, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOOLWINDOW)
    GUISetBkColor(0xABCDEF)
    Global $Cover[$Anzahl_Filme]
    For $i = 0 To $Anzahl_Filme - 1 Step + 1
    Local $Bild = @ScriptDir & "\Cover\" & $Filme[$i][1] & ".jpg"
    If $i = 0 Then
    If FileExists($Bild) = 1 Then $Cover[$i] = GUICtrlCreatePic($Bild, 0, 0, $Cover_Breite, $Cover_Breite * 1.5)
    If FileExists($Bild) = 0 Then $Cover[$i] = GUICtrlCreatePic(@ScriptDir & "\Cover\#Dummy.jpg", 0, 0, $Cover_Breite, $Cover_Breite * 1.5)
    Else
    If FileExists($Bild) = 1 Then $Cover[$i] = GUICtrlCreatePic($Bild, $i * ($Cover_Breite + $Cover_Abstand), 0, $Cover_Breite, $Cover_Breite * 1.5)
    If FileExists($Bild) = 0 Then $Cover[$i] = GUICtrlCreatePic(@ScriptDir & "\Cover\#Dummy.jpg", $i * ($Cover_Breite + $Cover_Abstand), 0, $Cover_Breite, $Cover_Breite * 1.5)
    EndIf
    GUICtrlSetCursor(-1, 0)
    GUICtrlSetOnEvent(-1, "Wiedergabe")
    GUICtrlSetResizing(-1, $GUI_DOCKALL)
    If $Advanced_Infos = False Then GUICtrlSetTip(-1, " - Größe: " & $Filme[$i][3] & @LF & " - Format: " & $Filme[$i][2], $Filme[$i][1], 0, 2)
    If $Advanced_Infos = True Then GUICtrlSetTip(-1, " - Länge: " & $Filme[$i][6] & @LF & " - Auflösung: " & $Filme[$i][4] & @LF & " - Bitrate: " & $Filme[$i][5] & @LF & " - Größe: " & $Filme[$i][3] & @LF & " - Format: " & $Filme[$i][2], $Filme[$i][1], 0, 2)
    Next
    GUIRegisterMsg($WM_SIZE, "WM_SIZE")
    GUIRegisterMsg($WM_HSCROLL, "WM_HSCROLL")
    _GUIScrollBars_Init($GUI, $Anzahl_Filme * $Cover_Breite + ($Anzahl_Filme - 1) * $Cover_Abstand - 20, 0)
    Local $color = Execute('0x00' & StringMid(Hex(String(0xABCDEF), 6), 5, 2) & StringMid(Hex(String(0xABCDEF), 6), 3, 2) & StringMid(Hex(String(0xABCDEF), 6), 1, 2))
    DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $GUI, "long", $color, "byte", 255, "long", 3)
    GUISetState()
    EndFunc

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

    Func Wiedergabe()
    Run($Vlc & ' "' & $Filme[@GUI_CTRLID - 3][0] & '"') ; eventuell für anderes Programm anpassen
    EndFunc

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

    Func _Exit()
    Exit
    EndFunc

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

    Func WM_SIZE($hWnd, $Msg, $wParam, $lParam)
    Local $index = -1, $yChar, $xChar, $xClientMax, $xClient, $yClient, $ivMax
    For $x = 0 To UBound($aSB_WindowInfo) - 1
    If $aSB_WindowInfo[$x][0] = $hWnd Then
    $index = $x
    $xClientMax = $aSB_WindowInfo[$index][1]
    $xChar = $aSB_WindowInfo[$index][2]
    $yChar = $aSB_WindowInfo[$index][3]
    $ivMax = $aSB_WindowInfo[$index][7]
    ExitLoop
    EndIf
    Next
    If $index = -1 Then Return 0
    Local $tSCROLLINFO = DllStructCreate($tagSCROLLINFO)
    $xClient = BitAND($lParam, 0x0000FFFF)
    $yClient = BitShift($lParam, 16)
    $aSB_WindowInfo[$index][4] = $xClient
    $aSB_WindowInfo[$index][5] = $yClient
    DllStructSetData($tSCROLLINFO, "fMask", BitOR($SIF_RANGE, $SIF_PAGE, $SIF_POS))
    DllStructSetData($tSCROLLINFO, "nMin", 0)
    DllStructSetData($tSCROLLINFO, "nMax", $ivMax)
    DllStructSetData($tSCROLLINFO, "nPage", $yClient / $yChar)
    _GUIScrollBars_SetScrollInfo($hWnd, $SB_VERT, $tSCROLLINFO)
    DllStructSetData($tSCROLLINFO, "fMask", BitOR($SIF_RANGE, $SIF_PAGE, $SIF_POS))
    DllStructSetData($tSCROLLINFO, "nMin", 0)
    DllStructSetData($tSCROLLINFO, "nMax", 2 + $xClientMax / $xChar)
    DllStructSetData($tSCROLLINFO, "nPage", $xClient / $xChar)
    _GUIScrollBars_SetScrollInfo($hWnd, $SB_HORZ, $tSCROLLINFO)
    Return $GUI_RUNDEFMSG
    EndFunc

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

    Func WM_HSCROLL($hWnd, $Msg, $wParam, $lParam)
    Local $nScrollCode = BitAND($wParam, 0x0000FFFF)
    Local $index = -1, $xChar, $xPos
    Local $Min, $Max, $Page, $Pos, $TrackPos
    For $x = 0 To UBound($aSB_WindowInfo) - 1
    If $aSB_WindowInfo[$x][0] = $hWnd Then
    $index = $x
    $xChar = $aSB_WindowInfo[$index][2]
    ExitLoop
    EndIf
    Next
    If $index = -1 Then Return 0
    Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx($hWnd, $SB_HORZ)
    $Min = DllStructGetData($tSCROLLINFO, "nMin")
    $Max = DllStructGetData($tSCROLLINFO, "nMax")
    $Page = DllStructGetData($tSCROLLINFO, "nPage")
    $xPos = DllStructGetData($tSCROLLINFO, "nPos")
    $Pos = $xPos
    $TrackPos = DllStructGetData($tSCROLLINFO, "nTrackPos")
    Switch $nScrollCode
    Case $SB_LINELEFT
    DllStructSetData($tSCROLLINFO, "nPos", $Pos - 1)
    Case $SB_LINERIGHT
    DllStructSetData($tSCROLLINFO, "nPos", $Pos + 1)
    Case $SB_PAGELEFT
    DllStructSetData($tSCROLLINFO, "nPos", $Pos - $Page)
    Case $SB_PAGERIGHT
    DllStructSetData($tSCROLLINFO, "nPos", $Pos + $Page)
    Case $SB_THUMBTRACK
    DllStructSetData($tSCROLLINFO, "nPos", $TrackPos)
    EndSwitch
    DllStructSetData($tSCROLLINFO, "fMask", $SIF_POS)
    _GUIScrollBars_SetScrollInfo($hWnd, $SB_HORZ, $tSCROLLINFO)
    _GUIScrollBars_GetScrollInfo($hWnd, $SB_HORZ, $tSCROLLINFO)
    $Pos = DllStructGetData($tSCROLLINFO, "nPos")
    If ($Pos <> $xPos) Then _GUIScrollBars_ScrollWindow($hWnd, $xChar * ($xPos - $Pos), 0)
    Return $GUI_RUNDEFMSG
    EndFunc

    [/autoit]


    Andy :)

    Edit: Die "ffmpeg.exe" muss in dem Ordner liegen, in dem sich das Skript befindet.

    Dateien

    Filme-Player.zip 5,66 kB – 397 Downloads
  • Programm nur einmal ausführen

    • AndyTR
    • 12. März 2012 um 20:40

    Ich mache das immer so:

    [autoit]

    If WinExists("Ganz egal wie das heißt...") Then Exit
    AutoItWinSetTitle("Ganz egal wie das heißt...")

    [/autoit]
  • Bild in GUI in guter Qualität einbinden

    • AndyTR
    • 10. März 2012 um 19:06

    Es kommt halt auf den Algorithmus an, autoIt-intern ist solala.
    Entweder das Bild extern anpassen oder per GDI, was bestimmt auch gute Ergebnisse liefert!

  • Bild in GUI in guter Qualität einbinden

    • AndyTR
    • 10. März 2012 um 16:45

    Wie Greenhorn schon sagte ist vor allem die Größe entscheidend. Wenn AutoIt verkleinern muss (ich glaube das ist dann ja auch interpolieren), wird das Ergebnis unschön. Deshalb möglist immer die Originalgröße des Bildes beibehalten.
    Ob das Bitmap oder Jpeg ist, ist denke ich egal, aber natürlich hast du halt die Eigenschaften eines komprimierten Jpeg's.

    Gruß Andy

  • Soundplay mehrere Dateien

    • AndyTR
    • 5. März 2012 um 15:10

    Versuch mal die While-Schleife zu ersetzen, wenn das nicht funktioniert und alles stumm bleibt, dann weiß ich auch nicht weiter, sorry :huh:

    Spoiler anzeigen
    [autoit]

    While 1
    #cs
    If _BASS_ChannelIsActive($Stream_Hintergrund) = "0" Then ; wenn Hintergund-Musik zuende, dann Exit
    _Bass_ChannelStop($Stream_Geraeusch)
    _BASS_StreamFree($Stream_Geraeusch)
    _Bass_ChannelStop($Stream_Hintergrund)
    _BASS_StreamFree($Stream_Hintergrund)
    _Bass_Free()
    Exit
    EndIf
    #ce
    Sleep(100)
    Wend

    [/autoit]


    Gruß Andy

  • Soundplay mehrere Dateien

    • AndyTR
    • 5. März 2012 um 14:46

    Ist denn das Icon in der Symbolleiste zu sehen, sprich das Script oder beendet es sich direkt? bass.dll auch da, wo sie hingehört? Denn bei mir ist genau das der fall, was Du beschreibst, wenn die .dll fehlt...
    Ansonsten weiß ich auch nicht weiter :huh:

    Kann jemand das Verhalten bestätigen?

  • Soundplay mehrere Dateien

    • AndyTR
    • 5. März 2012 um 12:40

    Zwischenfrage: Sollen mp3-Files mit veränderter Lautstärke gespeichert werden oder lediglich nur wiedergegeben werden?
    Sprich: Alle Files in den Ordnern sollen im Original-Zustand bleiben, ja?
    Und alle .mp3's im Background-Ordner haben dasselbe Lautstärke-Niveau oder muss das erst angepasst werden?

    Spoiler anzeigen
    [autoit]

    #include <Bass.au3> ; Include-Verzeichnis
    #include <BassConstants.au3> ; Include-Verzeichnis
    #include <File.au3>

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

    _BASS_Startup(@ScriptDir & "\bass.dll")
    _BASS_Init(0, -1, 44100, 0)

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

    $Hintergrund_Ordner_Pfad = "" ; Ordner-Pfad der Hintergrund-Musik (am Ende "\" wichtig) | anpassen!
    $Geraeusch_Mp3_Pfad = "" ; Mp3-Pfad einer Geräusch-Mp3 | anpassen!

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

    Global $Array = _FileListToArray($Hintergrund_Ordner_Pfad, "*.mp3")
    Global $Stream_Hintergrund, $Stream_Geraeusch

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

    Wiedergabe()

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

    While 1
    If _BASS_ChannelIsActive($Stream_Hintergrund) = "0" Then ; wenn Hintergund-Musik zuende, dann Exit
    _Bass_ChannelStop($Stream_Geraeusch)
    _BASS_StreamFree($Stream_Geraeusch)
    _Bass_ChannelStop($Stream_Hintergrund)
    _BASS_StreamFree($Stream_Hintergrund)
    _Bass_Free()
    Exit
    EndIf
    Sleep(100)
    Wend

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

    Func Wiedergabe()
    $Stream_Hintergrund = _BASS_StreamCreateFile(0, $Hintergrund_Ordner_Pfad & $Array[Random(1, $Array[0], 1)], 0, 0, 0)
    _BASS_ChannelPlay($Stream_Hintergrund, 1)
    _BASS_ChannelSetVolume($Stream_Hintergrund, 50)

    $Stream_Geraeusch = _BASS_StreamCreateFile(0, $Geraeusch_Mp3_Pfad, 0, 0, 0)
    _BASS_ChannelPlay($Stream_Geraeusch, 1)
    _BASS_ChannelSetVolume($Stream_Geraeusch, 100)
    EndFunc

    [/autoit]
  • Soundplay mehrere Dateien

    • AndyTR
    • 5. März 2012 um 11:54

    Ich weiß nicht so recht, was Du suchst, aber Lautstärke für viele Songs gleich oder unterschiedlich setzen und abspielen, auch gleichzeitig, ist alles locker mit der Bass-UDF machbar!
    Wenn Du Dich ein wenig mit meinem Posting #7 beschäftigst, kriegst auch Du das hin :thumbup:
    Oder sag nochmal genau was Du möchtest, in dem Script ist alles benutzt, was Du brauchst...

  • Skript bei Alt+Tab nicht anzeigen?

    • AndyTR
    • 5. März 2012 um 00:10

    Selbst die Lösung gefunden :) Gute Nacht...

    [autoit]

    $WS_EX_TOOLWINDOW

    [/autoit]
  • Skript bei Alt+Tab nicht anzeigen?

    • AndyTR
    • 4. März 2012 um 19:42

    Hallo, nabend,

    ich würde gerne bei der Tastenkombination Alt+Tab (die das Springen zwischen allen offenen Fenstern ermöglicht) mein Skript nicht angezeigt bekommen. Beispielsweise werden Programme wie RocketDock oder Samurize dort auch nicht angezeigt, soetwas meine ich...

    [Blockierte Grafik: http://250kb.de/u/120304/j/Y9z13Ivi0vgb.jpg]

    Ich hoffe, dass jemand eine Möglichkeit dafür kennt, Gruß Andy :rolleyes:

  • Soundplay mehrere Dateien

    • AndyTR
    • 3. März 2012 um 19:39

    Mithilfe der einfachen Sound-Funktionen ist ein Anpassen der Lautstärke nicht möglich. Man kann lediglich die Wave-Lautstärke einstellen, das hat aber nichts mit irgendwelchen .wav-Dateien zu tun, sondern meint die System-Lautstärke von Windows...

    Gruß Andy

  • Soundplay mehrere Dateien

    • AndyTR
    • 3. März 2012 um 18:45

    Also du wählst halt in dem Dialog den Ordner aus, in dem deine Musik liegt, alle mp3-/wav-Files werden in ein Array geschrieben, dann wird nacheinander zufällig einer der Tracks durchgespielt, sollte funktionieren, hm ?(

  • Soundplay mehrere Dateien

    • AndyTR
    • 3. März 2012 um 18:31

    Wenn du die Bass.au3 im Include-Verzeichnis hast, dann ersetze #include "Bass.au3" durch #include <Bass.au3> ...

    Edit: Oder füge die BassConstants.au3 nochmal dazu.

    Dateien

    BassConstants.au3 33,18 kB – 266 Downloads
  • Soundplay mehrere Dateien

    • AndyTR
    • 3. März 2012 um 18:05

    Mal schnell was gemacht ;)

    Spoiler anzeigen
    [autoit]

    #include "Bass.au3"

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

    HotKeySet("{Esc}", "_Exit")

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

    _BASS_Startup(@ScriptDir & "\bass.dll")
    _BASS_Init(0, -1, 44100, 0)

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

    $Pfad = FileSelectFolder("", "")
    ;$Pfad = @UserProfileDir & "\Music\MP3's\" ; anpassen!
    Global $Array = Array_GetFolderFiles($Pfad)
    Global $Line, $Stream
    Wiedergabe()

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

    While 1
    If _BASS_ChannelIsActive($Stream) = "0" Then
    _Bass_ChannelStop($Stream)
    _BASS_StreamFree($Stream)
    Wiedergabe()
    EndIf
    Sleep(10)
    Wend

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

    Func Array_GetFolderFiles($sPath)
    $oFSO = ObjCreate("Scripting.FileSystemObject")
    $sFiles = ""
    For $sFile In $oFSO.GetFolder($sPath).Files
    If StringRight($sFile.Path, 4) = ".mp3" or StringRight($sFile.Path, 4) = ".wav" Then $sFiles &= $sFile.Path & "|"
    Next
    Return StringSplit(StringTrimRight($sFiles, 1), "|")
    EndFunc

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

    Func Wiedergabe()
    $Line = Random(1, $Array[0], 1)
    $Stream = _BASS_StreamCreateFile(0, $Array[$Line], 0, 0, 0)
    _BASS_ChannelPlay($Stream, 1)
    _BASS_ChannelSetVolume($Stream, 50)
    EndFunc

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

    Func _Exit()
    _Bass_ChannelStop($Stream)
    _BASS_StreamFree($Stream)
    _BASS_Free()
    Exit
    EndFunc

    [/autoit]


    Gruß Andy :rolleyes:

    Dateien

    Script.zip 130,37 kB – 285 Downloads
  • Wie wichtig ist _BASS_Free() ?

    • AndyTR
    • 2. März 2012 um 22:41

    In Ordnung. Jetzt klappt auch alles wunderbar schnell und alles wird zwischendurch und zum Schluss sauber aufgeräumt :)
    Dank dir, Andy!

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™