Español
Foro

Ende uno AVI-Expediente abfangen

 
Der untenstehende Code se ejecuta, pero yo möchte después de Beenden des Abspielens el "Play"-Button aktivieren. Leider bekomme Yo el sin Waitinput no hin. Lo sino que debe kein Waitinput vorkommen ?
KompilierenMarcaSeparación
PROC ABSPIEL_BEFEHL

    mcisend$("CLOSE MOVIE")
    PARAMETERS avi_datei$
    Enablewindow play%,0
    Enablewindow stop%,1
    mcisend$("OPEN "+shortname$(avi_datei$)+" TYPE AVIVIDEO ALIAS MOVIE")
    mcisend$("WINDOW MOVIE HANDLE "+str$(win&))
    mcisend$("PUT MOVIE DESTINATION AT 8 5 260 210")
    mcisend$("PLAY MOVIE")
    Nach Beenden der AVI-Datei soll jetzt hier der Button
    play% aktiv und der Button stop% deaktiv geschaltet werden.
    Klappt aber nicht :(   - da PLAY MOVIE nicht wartet - WaitInput will ich nicht
    EnableWindow stop%,0
    EnableWindow play%,1

ENDPROC

########################################################
declare avi_datei$,win&
DECLARE play_EE%,play%,stop%,back%,tipp%
play_EE%=0
WINDOW (%MaxX+10),0-0,0
WindowStyle 84
win&=CREATE("WINDOW",%HWND,"",50,50,280,250)
play%=CREATE("BUTTON",win&,">",5,220,20,20)
tipp%=CREATE("TOOLTIP",win&,play%,"Abspielen wiederholen...")
stop%=CREATE("BUTTON",win&,"II",50,220,20,20)
tipp%=CREATE("TOOLTIP",win&,stop%,"Abspielen stoppen...")
back%=CREATE("BUTTON",win&,"ESC Abbrechen",148,220,120,20)
tipp%=CREATE("TOOLTIP",win&,back%,"Anzeige schließen")
--------------------------------------------------
avi_datei$=loadfile$("AVI - Datei auswählen...","*.avi")
avi_datei$="geburtstag.avi" Testdatei auf meiner Festplatte
--------------------------------------------------
ABSPIEL_BEFEHL avi_datei$

WHILENOT play_EE%

    WAITINPUT

    IF CLICKED(stop%)

        mcisend$("CLOSE MOVIE")
        EnableWindow stop%,0
        EnableWindow play%,1

    ENDIF

    CASE CLICKED(play%):ABSPIEL_BEFEHL avi_datei$

    IF IsKey(27) | CLICKED(back%)

        mcisend$("CLOSE MOVIE")
        DesTroyWindow(win&)
        play_EE%=1
        END vorläufiges Ende - normal Rücksprung zum Hauptfenster

    ENDIF

ENDWHILE

4 href='./../../function-references/XProfan/end/'>FIN

Wer ha una Tipp para mich ? - Gracias en el Voraus
 
04.08.2008  
 




Thomas
Freier
@Horst, por qué willst du ihn deaktivieren? Überlasse el Betrachter, si él el Film todavía una vez startet.
In el Ablage fand Todavía:
KompilierenMarcaSeparación
Def w32_CreateMenu(0) !"USER32","CreateMenu"
Def w32_AppendMenu(4) !"USER32","AppendMenuA"
Def SetMenu(2) !"USER32","SetMenu"
Def DrawMenuBar(1) !"USER32","DrawMenuBar"
Def MenuItemEx(1) If(Equ(%umessage,$0111),Equ(LoWord(&uwparam),&(1)),0)
Def DestroyMenu(1) !"USER32","DestroyMenu"
Def @Movewindow(6) !"USER32", "MoveWindow"
Declare hmenu&,hmenu2&,txt$,format%
hmenu&=w32_CreateMenu()
txt$="Beenden"
w32_AppendMenu(hmenu&,0,3000,Addr(txt$))
txt$="Start"
w32_AppendMenu(hmenu&,16,3001,Addr(txt$))
txt$="Stop"
w32_AppendMenu(hmenu&,16,3002,Addr(txt$))
txt$="100%"
w32_AppendMenu(hmenu&,16,3003,Addr(txt$))
txt$="200%"
w32_AppendMenu(hmenu&,16,3004,Addr(txt$))
txt$="Neu"
w32_AppendMenu(hmenu&,16,3005,Addr(txt$))
declare Label_m&, dat$, Funct%,Stop%
WINDOWSTYLE 512
WINDOW 1,1-600,400
SETTRUECOLOR 1
dat$ = ShortName$(LoadFile$("Film laden...","AVI-Film (*.avi)|*.avi"))
case (dat$ = "") : end
Label_m&=create("Window",%hwnd,"",100,50, 340,304)
SetMenu(Label_m&,hmenu&)
DrawMenuBar(Label_m&)
UserMessages $0111
MCISend$("open " + dat$ + " type avivideo alias film")
MCISend$("window film handle " + str$(Label_m&))
MCISend$("put film destination at 8 5 320 240")
MCISend$("play film")
Format%=0
Stop%=0
SetFocus(%hWnd)
EnableMenu 3001, 1

While 1

    WaitInput

    If MenuItemEx(3000)

        Break

    ElseIf MenuItemEx(3001)

        case Format%=0: @Movewindow(Label_m&,100,50, 340,304,1)
        case Format%=1: @Movewindow(Label_m&,100,50, 660,544,1)
        MCISend$("close film")
        MCISend$("open " + dat$ + " type avivideo alias film")
        MCISend$("window film handle " + str$(Label_m&))
        case Format%=0: MCISend$("put film destination at 8 5 320 240")
        case Format%=1: MCISend$("put film destination at 8 5 640 480")
        MCISend$("play film")

    ElseIf MenuItemEx(3002)

        IF stop%=0

            MCISend$("Stop film")
            stop%=1

        Else

            MCISend$("play film")
            stop%=0

        EndIf

    ElseIf MenuItemEx(3003)

        Format%=0
        @Movewindow(Label_m&,100,50, 340,304,1)
        MCISend$("window film handle " + str$(Label_m&))
        MCISend$("put film destination at 8 5 320 240")
        MCISend$("play film")

    ElseIf MenuItemEx(3004)

        Format%=1
        @Movewindow(Label_m&,100,50, 660,544,1)
        MCISend$("window film handle " + str$(Label_m&))
        MCISend$("put film destination at 8 5 640 480")
        MCISend$("play film")

    ElseIf MenuItemEx(3005)

        Stop%=0
        MCISend$("close film")
        dat$ = ShortName$(LoadFile$("Film laden...","AVI-Film (*.avi)|*.avi"))
        case (dat$ = "") : end
        MCISend$("open " + dat$ + " type avivideo alias film")
        MCISend$("window film handle " + str$(Label_m&))
        case Format%=0: MCISend$("put film destination at 8 5 320 240")
        case Format%=1: MCISend$("put film destination at 8 5 640 480")
        MCISend$("play film")

    EndIf

Wend

DestroyMenu(hmenu&)
DestroyWindow(Label_m&)
MCISend$("close 
uot;) end
 
Gruß Thomas
Windows XP SP2, XProfan X2
04.08.2008  
 




Dieter
Zornow
¡Hola Horst

así gehts
KompilierenMarcaSeparación
PROC ABSPIEL_BEFEHL

    mcisend$("CLOSE MOVIE")
    PARAMETERS avi_datei$
    Declare stop$
    Enablewindow play%,0
    Enablewindow stop%,1
    mcisend$("OPEN "+shortname$(avi_datei$)+" TYPE AVIVIDEO ALIAS MOVIE")
    mcisend$("WINDOW MOVIE HANDLE "+str$(win&))
    mcisend$("PUT MOVIE DESTINATION AT 8 5 260 210")
    mcisend$("PLAY MOVIE")

    whilenot stop$ = "stopped"

        stop$=MCISend$("STATUS MOVIE MODE")zeigt den Zustand (stopped, playing, paused, not ready)

    endwhile

    enablewindow play%,1
    enablewindow stop%,0
    Nach Beenden der AVI-Datei soll jetzt hier der Button
    play% aktiv und der Button stop% deaktiv geschaltet werden.
    Klappt aber nicht :(   - da PLAY MOVIE nicht wartet - WaitInput will ich nicht
    EnableWindow stop%,0
    EnableWindow play%,1

ENDPROC

########################################################
declare avi_datei$,win&
DECLARE play_EE%,play%,stop%,back%,tipp%
play_EE%=0
WINDOW (%MaxX+10),0-0,0
WindowStyle 84
win&=CREATE("WINDOW",%HWND,"",50,50,280,250)
play%=CREATE("BUTTON",win&,">",5,220,20,20)
tipp%=CREATE("TOOLTIP",win&,play%,"Abspielen wiederholen...")
stop%=CREATE("BUTTON",win&,"II",50,220,20,20)
tipp%=CREATE("TOOLTIP",win&,stop%,"Abspielen stoppen...")
back%=CREATE("BUTTON",win&,"ESC Abbrechen",148,220,120,20)
tipp%=CREATE("TOOLTIP",win&,back%,"Anzeige schließen")
--------------------------------------------------
avi_datei$=loadfile$("AVI - Datei auswählen...","*.avi")
avi_datei$="geburtstag.avi" Testdatei auf meiner Festplatte
--------------------------------------------------
ABSPIEL_BEFEHL avi_datei$

WHILENOT play_EE%

    IF Getfocus(stop%)

        mcisend$("CLOSE MOVIE")
        EnableWindow stop%,0
        EnableWindow play%,1

    ENDIF

    CASE getfocus(play%):ABSPIEL_BEFEHL avi_datei$

    IF IsKey(27) | getfocus(back%)

        mcisend$("CLOSE MOVIE")
        DesTroyWindow(win&)
        play_EE%=1
        ENDvorläufiges Ende - normal Rücksprung zum Hauptfenster

    ENDIF

ENDWHILE class=s4 href='./../../function-references/XProfan/end/'>FIN

Usted puede simplemente el Status abfragen, sin Waitinput verzichte en Clicked, el va torcido.

Saludo

Dieter
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
04.08.2008  
 



@Thomas
Yo voluntad el "play%"-Button no deaktivieren pero después de Abspielen el AVI-Expediente aktivieren - el Button se sí beim Start des Filmes grau - EnableWindow play%,0 - Yo möchte ahora, si la AVI-Expediente al Ende es, dass el Button otra vez aktiv dargestellt se. - EnableWindow play%,1 - Schreib Yo el en el Procedur, se inmediatamente aktiviert. Der MCIPLAY-Befehl macht no Pause pero "rutscht" inmediatamente por. Es sí no besonders wichtig, pero yo finde lo sólo optisch mejor, si la Button sólo después de Spielende aktiv se. - Su Vorschlag Aunque muy schön aber para mi Zwecke brauche Yo, el Windowstil 84 y es con el Menuzeile en Deinem Code no posible.
 
04.08.2008  
 




Jac
de
Lad
@Thomas: Lieber todavía una "Sleep x" en el Bucle rein, sonst rennt se el Prog kaputt.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
04.08.2008  
 




E.T.
¡Hola Horst,

hier veces rápidamente una Ejemplo, como yo gelöst habe (Aunque en rápido sólo para MP3, aber el Principio debería funzen):
KompilierenMarcaSeparación
,

Proc EB_Play_MP3

    declare Play_Ende%, 1$, 3$, 4$, 5$
    Clear Play_Ende%

    WhileNot Play_Ende%

        @MCISend$("OPEN "+@Chr$(34)+HelpStr$+@Chr$(34)+" TYPE MPEGVIDEO ALIAS MP3_play")
        @MCISend$("set MP3_play time format ms")
        @MCISend$("set MP3_play video off")
        SetFocus(%HWnd)
        SetText Sound_PlayBtn&, "WIEDERGABE
        S T O P P E N"
        EnableWindow Titel_Box&,0
        EnableWindow Sound_Btn1&,0
        EnableWindow Sound_Btn2&,0
        EnableWindow Sound_ErBtn& ,0
        @MCISend$("PLAY MP3_play")
        4$ = MP3_length()
        1$ = PosMP3()
        3$ = MP3_position()
        5$ = @str$( @Val(4$) - @Val(3$) )

        WhileNot @GetFocus(Sound_PlayBtn&) OR (@Val(5$)=0)

            sleep 100
            1$ = PosMP3()
            3$ = MP3_position()
            5$ = @str$( @Val(4$) - @Val(3$) )
            SetText Play_Time1&, 1$
            SetText Play_Time2&, 3$
            SetText Play_Ret1&, PosRet(5$)
            SetText Play_Ret2&, 5$

        EndWhile

        @MCISend$("STOP MP3_play")
        @MCISend$("CLOSE MP3_play")
        SetText Sound_PlayBtn&, "Sound-Datei
        abspielen"
        EnableWindow Titel_Box&,1
        EnableWindow Sound_Btn1&,1
        EnableWindow Sound_Btn2&,1
        EnableWindow Sound_ErBtn& ,1
        Play_Ende% = 1

    EndWhile

    EB_Sound_Laden

ENDPROC


Hab el rápidamente veces de una meiner Progs rausgenommen:
Yo benenne zwar media Start-Button wärend des Abspielens en Stopp-Button en, habe aber auch unos pocos otro Sachen deaktiviert y luego otra vez aktiviert.
Das funktioniert en me así eigentlich reibungslos.

Yo frage simplemente en el mittleren Sinestar encargado / Endwhile - Bucle el Button para stoppen y el Rest-Spielzeit de.

Hoffe, el hilft primero una wenig más...

Mario
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
04.08.2008  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

788 Views

Untitledvor 0 min.
H.Hackl20.11.2013

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie