Intro Video bzw. Bild abspielen + Transparenz ändern

  • Hallo Com.

    Ich habe mir gedacht ich mache mal ein kleinesTutorial es geht um ein Intro für ein beliebiges Script ich habe 2 Versionen die erste handelt sich um ein Video Intro die zweite um ein Bild Intro.
    Funktioniert nur unter windows wegen WMP Object

    Version 1 Video Intro
    [autoit]

    ;()()()()()()()()(INCLUDES)()()()()()()()()()()
    #include <winapi.au3>
    #include <WindowsConstants.au3>
    ;()()()())()()()()()()()()()()()()()()()()()()

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

    FileInstall("C:\Users\Tobias\Desktop\SionS Intro\SionSIntro.avi",@TempDir&"\IntroVid.avi") ;Hier Müsst ihr eure Video Datai mit Fileinstall in das Temp Verzeichnis packen

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

    intro(); Diese Func führt das "intro" aus also sollte es bei eurem script am anfang stehen oder villt. In einer andern func (info) oder so ;)

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

    Func intro()
    $hwnd = GUICreate("", 148, 60, 20000, 20000, $WS_POPUP, $WS_EX_TOPMOST) ;Die unsichtbare Gui wird erstellt der style $WS_EX_TOPMOST ist wichtig das heist das das intro Permanent im vodergrund ist sonst könnte man es evntl. nicht sehen weil ein anderes fenster davor steht.
    _WinAPI_SetLayeredWindowAttributes($hwnd, 0xFFFFFF,255) ; Dieser schnipsel sorgd dafür das man keine $GUI_EVENT hat also kein (Minimieren, schließen, Maximieren) es wird einfach durchsichtig
    $ocwmp = ObjCreate("WMPlayer.OCX") ;wir nutzen einfach den Windows-Media-Player zum abspielen hier wird er sozusagen erstellt also das Object
    $ocdrinne = GUICtrlCreateObj($ocwmp, 0, 0, 148, 60); Hier wird die grösse angegeben WICHTIG!! bei eurem VIdeo müsst ihr hier die größe so ändern das es genauso groß ist wie das Video Das gleiche gild für die GUI
    $ocwmp.URL = @TempDir&"\IntroVid.avi";Hier Der Pfad den ihr bei Fileinstall gewählt habt
    $ocwmp.settings.volume = 0 ;lautstärke in Prozent mein video Hatt keinen ton also 0%
    $ocwmp.stretchToFit = True ;das es gestreckt wird braucht man eig ned da wir die GUI und das Object an das Video anpassen und nicht andersrum
    $ocwmp.fullscreen = True ; Das ist wohl klar
    $ocwmp.uiMode = 'none' ;wir nutzen keinen Mode
    $ocwmp.enableContextMenu = False ;das ist auch noch gut wenn man bei Windows-Media-Player auf ein laufendes Video Rechtsklick Macht dann öffnet sich ein Kontextmenu das gleiche würde für unser Intro gelten das wir aber mit diesem Schnipsel unterbinden
    $ocwmp.controls.play();Brauchen wir eig. nicht aber wollte es mit hin schreiben es sorgt dafür das das Video gleich abgespielt wird
    GUISetState(@SW_SHOW);Das das Video-GUI angezeigt wird
    For $i = 1 to 255 Step 2;Klassiche For Func
    Sleep(3)
    WinSetTrans($hwnd, "", $i) ;Tranzperenz wid gesetzt nach dem wert $i der sich alle 3 ms um 2 erhöt und bis 255 geht(volle Sichtbarkeit)
    WinMove($hwnd,"",$i+1,1 ) ;Hier Moven wir das GUI mit dem Video wir nutzen die gleiche For schleife
    Next
    Sleep(5000);Hier wird die Länge angegeben die das GUI (leben) soll^^ also die Länge vom Video
    For $i = 255 to 1 Step -2;Das gleiche nur andersum WICHTIG MIT "-" davor
    Sleep(3)
    WinSetTrans($hwnd, "", $i)
    WinMove($hwnd,"",$i+1,1 )
    Next
    GUIDelete() ;Das Video GUI wird gelöscht
    FileDelete(@TempDir&"\IntroVid.avi"); Das Video wird aus dem Temp Verzeichniss gelöscht
    Exit ;!!!!!!!!!!!!!!!!!WICHTIG!!!!!!!!!!!!!!!!! Dass müsst ihr weglassen wenn das Intro am Anfang stehen soll sonst seht ihr nur das Intro und euer Programm schließt sich einfach.
    EndFunc

    [/autoit]
    Version 2 Bild Intro
    [autoit]

    ;()()()()()()(INCLUDES)()()()()()()
    #include <winapi.au3>
    #include <WindowsConstants.au3>
    ;()()()()()()()()())()()()()()()()
    FileInstall("C:\Users\Tobias\Desktop\SionS Intro\Intro.jpg",@TempDir&"\intro.jpg") ;Hier Müsst ihr eure Video Datai mit Fileinstall in das Temp Verzeichnis packen
    intro()
    Func intro()
    $intro = GUICreate("", 605, 131, -1, -1,$WS_POPUP);Hier die größe des bildes
    $intropic = GUICtrlCreatePic(@TempDir&"\intro.jpg", 0, 0, 605, 131, BitOR($WS_GROUP,$WS_CLIPSIBLINGS));und hier nochmal die selben angaben
    _WinAPI_SetLayeredWindowAttributes($intro, 0xFFFFFF,255);kennen wir ja schon :) auch wieder damit wir keinen $GUI_EVENT haben
    GUISetState(@SW_SHOW); Es wird angezeigt
    For $i = 1 to 255 Step 1 ;wieder die selbe For Func
    Sleep(3)
    WinSetTrans($intro, "", $i)
    Next
    Sleep(5000)
    For $i = 255 to 1 Step -1
    Sleep(3)
    WinSetTrans($intro, "", $i)
    Next
    GUIDelete()
    FileDelete(@TempDir&"\intro.jpg"); Das Bild wird aus dem Temp Verzeichniss gelöscht
    Exit; !!!!!!!!!!!!!!!!!!!!WICHTIG!!!!!!!!!!!!!!!!!!!!! wieder weglassen ;)
    EndFunc

    [/autoit]

    Hier noch die Beispiel dateien im anhang
    PS: Ihr müsst den Datei Pfaht überall ändern ;) (an die neulinge gerichtet)
    autoit.de/wcf/attachment/13851/

  • Zitat

    Datei Pfaht


    Bitte verbessere das so schnell wie möglich, davon kriegt man ja Augenkrebs... (Es heißt Dateipfad)
    Für Anfänger ist das sicherlich ganz nett, wobei dann die Scripte noch ein wenig ordentlicher sein sollten (ausreichend Kommentiert hast du ja).

    Zitat

    Funktioniert nur unter windows wegen WMP Object


    Nicht nur das, der Windows Media Player hat von Haus aus nur wenige Video/Audio Codecs. Das heißt, es werden z.B. nur wmv Videos mit bestimmtem Codec o.Ä. funktionieren, wenn der Benutzer keinen Codec für z.B. Divx Videos hat, geht es auch nicht.
    Und das wird bei den meisten Nutzern des Scripts der Fall sein. Verwende lieber eine Alternative zum WMP Object. ;)

  • Ich hab kurz mal drübergeschaut und ich finde, nach einem Tutorial sieht das nicht wirklich aus.

    Das erste Script zeigt nur wie man ein Video einbindet, das zweite wie man ein Bild auf eine GUI malt.

    Schade

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • jo schade das es euch nicht gefällt naja war halt nur gut gemeint

    und sry wegen meiner rechtschreibung ich weis das ich wie ein 9 jähriger schreibe ich kann daran auch nichts ändern bzw ich habe keinen bock dazu egal. solange man halbwegs lesen kann was ich meine geht es doch noch oder ?

  • Sei blos nicht enttäuscht - Wir sind es doch schon XD
    Nein, spaß beiseite: Du hättest den Titel ändern sollen in: "In AutoIt ein Intro abspielen" oder sowas ...
    Ich wusste nicht wie das geht, da ichs nicht brauche kann ich auch nicht sagn wie es ist, aber dein intro ist cooool

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • ok ich bennene es gleich um

    mh.. der Titel hat wohl einen falschen Eindruck Erweckt es sollte eig. wirklich nur dazu da seinen das wenn jemand nicht weis wie man auf sich aufmerksam machen soll also auf denjenigen der ein kleines app geschrieben hat das er dann halt ein kleines intro macht ja halt ein bild das am anfang erscheint und dann startet das programm.