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. eukalyptus

Beiträge von eukalyptus

  • Ganz einfacher Karaoke Mode Player

    • eukalyptus
    • 19. Mai 2010 um 21:55

    Vielleicht ist "herausfiltern" etwas irreführend, es soll natürlich herauslöschen heißen ;)

  • Ganz einfacher Karaoke Mode Player

    • eukalyptus
    • 19. Mai 2010 um 21:42

    Hi

    Auf manchen CD-Playern gibt es eine Karaoke Funktion, welche die Stimme aus einem Lied herausfiltern soll.

    Das Geheimnis dahinter ist, daß einfach der linke Kanal phasengedreht zum rechten Kanal gemischt wird.
    Somit löschen sich alle Anteile der Musik aus, die genau in der Mitte liegen, also im rechten und linken Kanal genau gleich sind - und das ist in der Regel die Stimme.

    Dieses Beispielscript zeigt, wie man das mit der Bass.dll machen kann:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Diese Methode funktioniert natürlich nicht bei jedem Musikstück gleich gut und bei Mono-Files kommt nur Stille raus
    Ich hab ein kurzes Musikstück dazugepackt, wo es eigentlich ganz gut klappt...

    viel Spaß

    Dateien

    Karaoke.zip 645,58 kB – 255 Downloads
  • Autoit das Programm wenn es sich schließt neu Startet

    • eukalyptus
    • 18. Mai 2010 um 12:59

    So sollte es funktionieren:

    [autoit]

    Global $iPid = 0

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

    While 1
    If Not $iPid Or Not ProcessExists($iPid) Then
    $iPid = Run("notepad.exe")
    ProcessWait($iPid)
    EndIf
    Sleep(100)
    WEnd

    [/autoit]

    Allerdings muß das entsprechende Programm das erste mal auch von diesem Script aus gestartet werden...

    mfgE

  • Exchange Variables UDF Beta

    • eukalyptus
    • 18. Mai 2010 um 12:46

    Neue Version

    Nun geht auch das Versenden von DllStructs.
    Bisher wurde nur der Pointer verschickt.
    Nun werden alle benötigten Daten (PID, Pointer, Structtype) verschickt und im Empfängerscript eine equivalente DllStruct erstellt.
    Die in der Struct enthaltene Datenmenge spielt dabei keine Rolle.

    E

  • Exchange Variables UDF Beta

    • eukalyptus
    • 13. Mai 2010 um 11:17

    Mit dieser UDF kann man ganz einfach Variablen zwischen mehreren verschiedenen Autoitprogrammen austauschen.

    Die Beispiele sind hoffentlich selbsterklärend und ich spare mir jetzt mal eine Beschreibung... ^^
    Am besten als EXE kompilieren und beide Scripte eines Beispiels starten.


    Ich konnte das bisher nur auf einem Rechner mit Win_XP testen - hoffentlich funktioniert das auch auf anderen Systemen.

    Verbesserungen, Einwände, Praxistauglichkeitsfeedbacks oder sonstige Kommentare sind natürlich herzlich Willkommen.

    E

    EDIT:
    Nun kann man auch DllStructs verschicken.

    Die Variablen werden zunächst in Strings umgewandelt, dann verschickt und im Empfängerscript wieder zurückverwandelt.
    Da dies bei großen Datenmengen (sehr lange Strings/Binaries oder große Arrays) natürlich Zeit beansprucht, ist die beste Variante das Versenden von DLLStructs.
    Bei DLLStructs werden nur PID,Pointer & StructType verschickt und dann ausgelesen, dabei ist es egal wie groß die enthaltene Datenmenge ist.
    Siehe Beispiel 3

    Dateien

    ExchangeVariables_incl_GDIp_example.zip 9,78 kB – 923 Downloads ExchangeVariables.zip 7,11 kB – 971 Downloads
  • Kommunikation zwischen 2 Scripten

    • eukalyptus
    • 9. Mai 2010 um 14:39

    Wie tausche ich Variablen / Strings zwischen 2 Scripten aus

    Da die Frage immer wieder mal gestellt wird, hab ich mal 2 Beispiele geschrieben

    Beispiel 1
    Hier wird vom Hauptscript ein zweites Script (EXE) gestartet und dann via StdIn / StdOut Daten ausgetauscht.

    Vorteile:
    Benötigt kein GUI.
    Zielscript kann quasi nicht verwechselt werden (siehe Nachteile Beispiel 2)

    Nachteile:
    Empfänger muß ständig auf neue Daten prüfen.
    Script2.exe MUSS von Script1 aus via Run gestartet werden.

    Script_1.au3:

    Spoiler anzeigen
    [autoit]

    #include <Constants.au3>
    #include <GUIConstantsEx.au3>

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

    Global $hPid = 0, $sStdOut = ""

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

    $hGui = GUICreate("Script 1", 200, 225, @DesktopWidth / 2 - 250, @DesktopHeight / 2 - 112)
    $hEdit = GUICtrlCreateEdit("Script 1 Test Text", 10, 10, 180, 150)
    $hButtonStart = GUICtrlCreateButton("Start Script 2", 10, 170, 85, 20)
    $hButtonStop = GUICtrlCreateButton("Stop Script 2", 105, 170, 85, 20)
    $hButtonSend = GUICtrlCreateButton("Send Edit to Script 2", 10, 195, 180, 20)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    If $hPid Then ProcessClose($hPid)
    Exit
    Case $hButtonStart
    $hPid = Run(@ScriptDir & "\Script_2.exe", @ScriptDir, @SW_SHOW, BitOR($STDIN_CHILD, $STDOUT_CHILD))
    Case $hButtonStop
    ProcessClose($hPid)
    $hPid = 0
    Case $hButtonSend
    StdinWrite($hPid, GUICtrlRead($hEdit))
    EndSwitch
    If $hPid Then
    $sStdOut = StdoutRead($hPid)
    If @error Then $hPid = 0
    If $sStdOut Then GUICtrlSetData($hEdit, $sStdOut)
    EndIf
    WEnd

    [/autoit]

    Script_2.au3:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Global $sStdIn = ""

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

    $hGui = GUICreate("Script 2", 200, 225, @DesktopWidth / 2 + 50, @DesktopHeight / 2 - 112)
    $hEdit = GUICtrlCreateEdit("Script 2 Test Text", 10, 10, 180, 175)
    $hButtonSend = GUICtrlCreateButton("Send Edit to Script 1", 10, 195, 180, 20)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hButtonSend
    ConsoleWrite(GUICtrlRead($hEdit))
    EndSwitch
    $sStdIn = ConsoleRead()
    If $sStdIn Then GUICtrlSetData($hEdit, $sStdIn)
    WEnd

    [/autoit]


    Beispiel 2
    Datenaustausch via SendMessage

    Vorteile:
    Der Empfänger muß nicht ständig auf neue Daten überprüfen.
    Die Scripte können unabhängig voneinader gestartet werden.

    Nachteile:
    Setzt ein GUI voraus.
    Das Zielscript wird über WinTitle definiert, d.h. wenn mehrere Fenster mit dem gleichen Title existieren, dann kann es zu Verwechsulngen kommen. (Also eindeutige Fentertitel wählen)

    Script_1.au3:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $hGui = GUICreate("Script 1", 200, 225, @DesktopWidth / 2 - 250, @DesktopHeight / 2 - 112)
    $hEdit = GUICtrlCreateEdit("Script 1 Test Text", 10, 10, 180, 175)
    $hButtonSend = GUICtrlCreateButton("Send Edit to Script 2", 10, 195, 180, 20)
    GUISetState()

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

    GUIRegisterMsg($WM_COPYDATA, '_MY_WM_COPYDATA')

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hButtonSend
    _SendCopyDataString($hGui, WinGetHandle("Script 2"), GUICtrlRead($hEdit))
    EndSwitch
    WEnd

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

    Func _SendCopyDataString($My_Hwnd, $Scite_hwnd, $sCmd) ; by Prog@ndy
    Local $CmdStruct = DllStructCreate('Char[' & StringLen($sCmd) + 1 & ']')
    DllStructSetData($CmdStruct, 1, $sCmd)
    Local $COPYDATA = DllStructCreate('Ptr;DWord;Ptr')
    DllStructSetData($COPYDATA, 1, 1)
    DllStructSetData($COPYDATA, 2, StringLen($sCmd) + 1)
    DllStructSetData($COPYDATA, 3, DllStructGetPtr($CmdStruct))
    DllCall('User32.dll', 'None', 'SendMessage', 'HWnd', $Scite_hwnd, 'Int', $WM_COPYDATA, 'HWnd', $My_Hwnd, 'Ptr', DllStructGetPtr($COPYDATA))
    EndFunc ;==>_SendCopyDataString

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

    Func _MY_WM_COPYDATA($hWnd, $msg, $wParam, $lParam) ; by Prog@ndy
    Local $Temp = ""
    Local $COPYDATA = DllStructCreate('Ptr;DWord;Ptr', $lParam)
    Local $COPYDATA_StringLen = DllStructGetData($COPYDATA, 2)
    Local $CmdStruct = DllStructCreate('Char[' & $COPYDATA_StringLen & ']', DllStructGetData($COPYDATA, 3))
    $COPYDATA_String = StringLeft(DllStructGetData($CmdStruct, 1), $COPYDATA_StringLen)
    GUICtrlSetData($hEdit, $COPYDATA_String)
    EndFunc ;==>_MY_WM_COPYDATA

    [/autoit]

    Script_2.au3:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $hGui = GUICreate("Script 2", 200, 225, @DesktopWidth / 2 + 50, @DesktopHeight / 2 - 112)
    $hEdit = GUICtrlCreateEdit("Script 2 Test Text", 10, 10, 180, 175)
    $hButtonSend = GUICtrlCreateButton("Send Edit to Script 1", 10, 195, 180, 20)
    GUISetState()

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

    GUIRegisterMsg($WM_COPYDATA, '_MY_WM_COPYDATA')

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hButtonSend
    _SendCopyDataString($hGui, WinGetHandle("Script 1"), GUICtrlRead($hEdit))
    EndSwitch
    WEnd

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

    Func _SendCopyDataString($My_Hwnd, $Scite_hwnd, $sCmd) ; by Prog@ndy
    Local $CmdStruct = DllStructCreate('Char[' & StringLen($sCmd) + 1 & ']')
    DllStructSetData($CmdStruct, 1, $sCmd)
    Local $COPYDATA = DllStructCreate('Ptr;DWord;Ptr')
    DllStructSetData($COPYDATA, 1, 1)
    DllStructSetData($COPYDATA, 2, StringLen($sCmd) + 1)
    DllStructSetData($COPYDATA, 3, DllStructGetPtr($CmdStruct))
    DllCall('User32.dll', 'None', 'SendMessage', 'HWnd', $Scite_hwnd, 'Int', $WM_COPYDATA, 'HWnd', $My_Hwnd, 'Ptr', DllStructGetPtr($COPYDATA))
    EndFunc ;==>_SendCopyDataString

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

    Func _MY_WM_COPYDATA($hWnd, $msg, $wParam, $lParam) ; by Prog@ndy
    Local $Temp = ""
    Local $COPYDATA = DllStructCreate('Ptr;DWord;Ptr', $lParam)
    Local $COPYDATA_StringLen = DllStructGetData($COPYDATA, 2)
    Local $CmdStruct = DllStructCreate('Char[' & $COPYDATA_StringLen & ']', DllStructGetData($COPYDATA, 3))
    $COPYDATA_String = StringLeft(DllStructGetData($CmdStruct, 1), $COPYDATA_StringLen)
    GUICtrlSetData($hEdit, $COPYDATA_String)
    EndFunc ;==>_MY_WM_COPYDATA

    [/autoit]


    Eigentlich werden bei beiden Beispielen nur Strings übertragen.
    Um nun tatsächlich Variablen zu senden, könnte man mit DllStructCreate ein Struct erstellen und den Pointer mit oben genannten Methoden verschicken...
    Bei Bedarf kann ich auch hierfür ein Beispielscript schreiben!

    Viel Erfolg
    E

  • SuperMario Gameplay und Download

    • eukalyptus
    • 9. Mai 2010 um 13:19

    Hmm - Welches Betriebssystem hast du?

  • Variablenübergabe von laufenden Script an laufendes Script

    • eukalyptus
    • 9. Mai 2010 um 13:17

    Schau dir mal StdOutRead & Co an:
    [ offen ] consolewrite and read

  • Blockout 3D Tetris

    • eukalyptus
    • 7. Mai 2010 um 11:10

    Erstmal Danke für die Lorbeeren!

    Wie ich bereits sagte ist das Script noch nicht spielbar.
    Z.B. darf der Spieler die Z-Achse nicht beeinflussen; - Der Stein fällt von selber nach hinten.
    Damit erübrigt sich dann auch das Problem, daß man die Steine ineinanderpacken kann.
    Beim Rotieren fehlt noch die Kollisionsabfrage mit anderen Steinen...usw.

    Schwierigkeitsgrade werden so aussehen:
    Man kann einstellen, wie groß das SPielfeld sein soll ( 3x3x6 -7x7x18 )
    Es gibt 3 unterschiedliche Steinmodi (Flat, Basic, Extended)
    Je höher das Level, desto schneller fällt der Stein
    schwierigere Levels starten schon mit einer zufälligen Anordnung von Steinen

    Im Prinzip genauso wie das herkömmliche Tetris.

    Die Jüngeren kennen wahrscheinlich das Original aus dem Jahre 1989 nicht.
    Hier ein Screenshot:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    E

    Dateien

    original.gif 16,79 kB – 0 Downloads
  • GDI+: Gui transparent wegen transparenter GDI+ Grafik

    • eukalyptus
    • 7. Mai 2010 um 10:46

    Vielleicht hilft dir _WinAPI_SetLayeredWindowAttributes weiter.

  • Blockout 3D Tetris

    • eukalyptus
    • 5. Mai 2010 um 11:37

    Hi

    Mit den GDI+ Path Funktionen kann man ein paar ganz tolle Sachen machen.
    Und da mich der 3D-Tunnel (GDI+ 3D-Tunnel) an Blockout erinnert hat, habe ich mal versucht das umzusetzen.

    Ist NICHT wirklich spielbar, da fehlt noch einiges...

    Mit den Cursortasten bewegt man den Stein in X/Y-Richtung
    Mit Enter und Backspace in Z-Richtung
    Die Tasten QAWSED lassen den Stein rotieren
    Und mit der Leertaste lässt man ihn nach hinten fallen

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    folgende Includes werden benötigt:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Mal sehen, ob ich irgendwann mal Lust habe ein fertiges Spiel daraus zu machen

    viel Spaß

    E

    Dateien

    BlockOut.au3 39,19 kB – 540 Downloads
  • 1D-2DArray Doppelte Elemente finden und Entfernen

    • eukalyptus
    • 4. Mai 2010 um 09:51

    Falls es nur um 1D-Arrays geht und auch kein Index benötigt wird (also $aArray[0]=Anzahl der Einträge)
    dann ist folgendes am schnellsten:

    [autoit]

    Func _ArrayUnique_($aA)
    Local $aR, $oD = ObjCreate('Scripting.Dictionary')
    For $i = 0 To UBound($aA) - 1
    If Not $oD.Exists($aA[$i]) Then $oD.Add($aA[$i], 0)
    Next
    $aR = $oD.Keys()
    Return $aR
    EndFunc

    [/autoit]
  • GDI+ Tisch 3D

    • eukalyptus
    • 1. Mai 2010 um 00:58

    Yeeaahh!
    Gefällt mir sehr gut!

  • GDI+ 3D-Tunnel

    • eukalyptus
    • 30. April 2010 um 10:57

    Hab das Script komplett überarbeitet.

    Geschwindigkeit kann mit dem Mausrad geregelt werden und es gibt zusätzlich Würfel, die auf einen zufliegen.
    Dafür hab ich momentan die Farbänderung herausgenommen...

    E

  • GDI+ 3D-Tunnel

    • eukalyptus
    • 29. April 2010 um 11:49

    Hi

    Eine weitere GDI+ Spielerei von mir:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Das Tunnelende kann mit der Maus bewegt werden.
    Und die Geschwindigkeit wird mit dem Mousewheel geregelt.

    folgende Includes werden benötigt:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Viel Spaß

    Dateien

    3D_Tunnel.au3 7,96 kB – 471 Downloads
  • AutoIt lernen

    • eukalyptus
    • 28. April 2010 um 03:28

    Hi

    Viell. hilft dir das: http://web.slzm.de/blog/programmi…uch-episode-ii/
    und auch das: http://translation.autoit.de/autoitinfo/hil…nd-24_03_10.zip

    Des weiteren ist es sehr hilfreich die "große" Version von Scite zu installieren: http://www.autoitscript.com/cgi-bin/getfil…iTE4AutoIt3.exe

    mfgE

  • MP3-Encoder Vergleich

    • eukalyptus
    • 26. April 2010 um 16:11

    Du wirst doch wohl irgendwo eine CD herumliegen haben ;)

  • MP3-Encoder Vergleich

    • eukalyptus
    • 26. April 2010 um 16:00

    Ich hab für einen Freund ein kurzes Script erstellt, welches eine Wav-Datei mit verschiedenen Encodern (Fraunhofer, Lame, Blade, Xing und Gogo) in MP3s (96,128,320 kbit/s) umwandelt .
    Und das will ich auch euch nicht vorenthalten:

    Spoiler anzeigen
    [autoit]

    $sFile = FileOpenDialog("Wähle .wav-Datei", @ScriptDir, "(*.wav)")
    If @error Or Not $sFile Or Not FileExists($sFile) Then
    MsgBox(0, "ERROR", ".Wav-Datei nicht gefunden!")
    Exit
    EndIf

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

    _Encode("Encoder: Gogo - 96 kBit/s", @ScriptDir & '\Encoders\gogo.exe -b 96 -m j "' & $sFile & '" "' & @ScriptDir & '\96_gogo.mp3"')
    _Encode("Encoder: Gogo - 128 kBit/s", @ScriptDir & '\Encoders\gogo.exe -b 128 -m j "' & $sFile & '" "' & @ScriptDir & '\128_gogo.mp3"')
    _Encode("Encoder: Gogo - 320 kBit/s", @ScriptDir & '\Encoders\gogo.exe -b 320 -m j "' & $sFile & '" "' & @ScriptDir & '\320_gogo.mp3"')

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

    _Encode("Encoder: Lame - 96 kBit/s", @ScriptDir & '\Encoders\lame.exe -mj -q0 --cbr -b96 "' & $sFile & '" "' & @ScriptDir & '\96_lame.mp3"')
    _Encode("Encoder: Lame - 128 kBit/s", @ScriptDir & '\Encoders\lame.exe -mj -q0 --cbr -b128 "' & $sFile & '" "' & @ScriptDir & '\128_lame.mp3"')
    _Encode("Encoder: Lame - 320 kBit/s", @ScriptDir & '\Encoders\lame.exe -mj -q0 --cbr -b320 "' & $sFile & '" "' & @ScriptDir & '\320_lame.mp3"')

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

    _Encode("Encoder: Blade - 96 kBit/s", @ScriptDir & '\Encoders\blade.exe -br 96 -q "' & $sFile & '" "' & @ScriptDir & '\96_blade.mp3"')
    _Encode("Encoder: Blade - 128 kBit/s", @ScriptDir & '\Encoders\blade.exe -br 128 -q "' & $sFile & '" "' & @ScriptDir & '\128_blade.mp3"')
    _Encode("Encoder: Blade - 320 kBit/s", @ScriptDir & '\Encoders\blade.exe -br 320 -q "' & $sFile & '" "' & @ScriptDir & '\320_blade.mp3"')

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

    _Encode("Encoder: Xing - 96 kBit/s", @ScriptDir & '\Encoders\xing.exe "' & $sFile & '" "' & @ScriptDir & '\96_xing.mp3" -b48')
    _Encode("Encoder: Xing - 128 kBit/s", @ScriptDir & '\Encoders\xing.exe "' & $sFile & '" "' & @ScriptDir & '\128_xing.mp3" -b64')
    _Encode("Encoder: Xing - 320 kBit/s", @ScriptDir & '\Encoders\xing.exe "' & $sFile & '" "' & @ScriptDir & '\320_xing.mp3" -b160')

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

    _Encode("Encoder: Fraunhofer - 96 kBit/s", @ScriptDir & '\Encoders\fhg.exe "' & $sFile & '" "' & @ScriptDir & '\96_fraunhofer.mp3" -br 96000 -hq')
    _Encode("Encoder: Fraunhofer - 128 kBit/s", @ScriptDir & '\Encoders\fhg.exe "' & $sFile & '" "' & @ScriptDir & '\128_fraunhofer.mp3" -br 128000 -hq')
    _Encode("Encoder: Fraunhofer - 320 kBit/s", @ScriptDir & '\Encoders\fhg.exe "' & $sFile & '" "' & @ScriptDir & '\320_fraunhofer.mp3" -br 320000 -hq')

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

    Func _Encode($sTitle, $sCmd)
    Local $iTimer = TimerInit()
    Local $aRegExp = StringRegExp($sCmd, '"[^"]*"', 3)
    If IsArray($aRegExp) And UBound($aRegExp) > 1 Then
    $aRegExp = $aRegExp[1]
    Else
    $aRegExp = ""
    EndIf
    ProgressOn("Encoding to MP3", $sTitle, $aRegExp)
    Local $foo = Run($sCmd, @SystemDir, @SW_HIDE, 0x8)
    Local $line
    While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
    $aRegExp = StringRegExp($line, "([0-9.]+)\h*%", 3)
    If IsArray($aRegExp) Then ProgressSet($aRegExp[UBound($aRegExp) - 1])
    WEnd
    ConsoleWrite($sTitle & " Time: " & Round(TimerDiff($iTimer), 1) & "ms" & @LF)
    Sleep(200)
    ProgressOff()
    EndFunc ;==>_Encode

    [/autoit]

    Es ging darum zu zeigen, daß MP3 nicht gleich MP3 ist, sondern das Ergebnis sehr stark vom Encoder abhängt.
    Man sieht auch schon an der Geschwindikeit, daß die Encoder unterschiedlich genau arbeiten.

    E

    Dateien

    mp3 vergleich.zip 973,62 kB – 327 Downloads
  • Aufnahme mit _BASS_Record

    • eukalyptus
    • 24. April 2010 um 19:11

    Hi

    Sollte so funktionieren:

    [autoit]

    _BASS_ChannelSetAttribute($hMusic, $BASS_ATTRIB_PAN, -1)
    _BASS_ChannelPlay($hMusic, 1)

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

    While _BASS_ChannelIsActive($hMusic) = $BASS_ACTIVE_PLAYING
    $iFreqOut = _GetFreq($hMusic)
    $iFreqIn = _GetFreq($hRecord)
    ToolTip("Frequenz Out: " & $iFreqOut & @LF & "Frequenz In: " & $iFreqIn)
    Sleep(100)
    WEnd

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

    _BASS_ChannelSetAttribute($hMusic, $BASS_ATTRIB_PAN, 1)
    _BASS_ChannelPlay($hMusic, 1)

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

    While _BASS_ChannelIsActive($hMusic) = $BASS_ACTIVE_PLAYING
    $iFreqOut = _GetFreq($hMusic)
    $iFreqIn = _GetFreq($hRecord)
    ToolTip("Frequenz Out: " & $iFreqOut & @LF & "Frequenz In: " & $iFreqIn)
    Sleep(100)
    WEnd

    [/autoit]

    mfgE

  • Another AutoIt PreProcessor

    • eukalyptus
    • 23. April 2010 um 09:53

    $CmdLine wird bereits berücksichtigt, aber $CmdLineRaw noch nicht...

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™