|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
hitori04
Anmeldungsdatum: 21.04.2011 Beiträge: 53
|
Verfasst am: 23.08.2012, 13:40 Titel: Window9 -> videoplayer Hängt sich auf !? |
|
|
HI leute ich bin vor kurzem auf eine lib gestoßen die sich window9 nennt und ein ziemlich großen umfang hat, naja jedenfalls ist es mit dieser lieb recht einfach videos wiedergeben zulassen, klappt auch alles einwandfrei, jedoch wenn ich in den Vollbild wechsel und dann wieder auf das normale fenster zurrück springe bekomme ich immer zu sehen dass das Programm nicht mehr antwortet, tja und genau da hängt es bei mir ich weiß nämlich nicht woran das liegt, wenn sich jemand mein source code angucken könnte der sich vll auch mit dieser lib auskennt wäre das super nett, danke im vorraus
Code: |
#Include "window9.bi"
Declare Sub resize
Declare Sub fullsize
Dim Shared As Integer event,event2,full,fullscreen, movie, Mov_Flag
Dim shared As HWND hwnd
hwnd = openWindow("FBMoviePlayer", 100,100, 320, 240)
ImageGadget(1,0,0,320,240)
movie=LoadMovie(GadgetID(1),"D:\Anime\Slayers\Slayers\Slayers - 01 - Hexenpower.avi", 0,0,WindowWidth(hwnd)-30,WindowHeight(hwnd)-30)
Do
windowevent()
resize
If GetAsyncKeyState(&h1B) Then Exit Do
If GetAsyncKeyState(&hA2)<0 And GetAsyncKeyState(&h46)<0 Then
fullsize
ElseIf GetAsyncKeyState(&h20)<0 Then
playmovie(movie)
MOV_FLAG = 1
sleep(500)
ElseIf GetAsyncKeyState(&hA2)<0 And GetAsyncKeyState(&h50)<0 Then
pausemovie(movie)
Sleep(500)
EndIf
Loop
If movie Then FreeMovie(Movie)
Sub resize
Static As integer Width_,height
If Width_<>WindowWidth(hwnd)-30 Or height<>WindowHeight(hwnd)-30 Then
Width_=WindowWidth(hwnd)-30 : height=WindowHeight(hwnd)-30
ResizeGadget(1,,,Width_,height)
EndIf
If MOV_FLAG=1 Then
ResizeMovie(movie,0,0,width_,height-30)
EndIf
End Sub
Sub fullsize
Do
If GetAsyncKeyState(&hA2)<0 And GetAsyncKeyState(&h51)<0 Then Exit do
If GetAsyncKeyState(&hA2)<0 And GetAsyncKeyState(&h46)<0 Then
full = Not full
MovieFullScreen(Movie,full)
Sleep(500)
endif
Loop
End Sub
|
|
|
Nach oben |
|
|
Eternal_pain
Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 23.08.2012, 14:25 Titel: |
|
|
Kenne zwar die Lib nicht und kann im Source so auch nichts erkennen...
Gibt es zu dem Event der dafür verantwortlich ist (Minimieren/Maximieren/Vollbild) einen Source?
Hatte mal ein ähnliches Problem als ich sowas mit FB 'Boradmitteln' gemacht habe, war definitiv ein Bug, keine ahnung ob dieser eigentlich behoben wurde, konnte das Problem nur 'umgehen' in dem ich das direkt über die Winapi gemacht habe _________________
|
|
Nach oben |
|
|
hitori04
Anmeldungsdatum: 21.04.2011 Beiträge: 53
|
|
Nach oben |
|
|
MOD Fleißiger Referenzredakteur
Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 23.08.2012, 14:44 Titel: |
|
|
Ich würde vorschlagen, direkt im englischen Forum zu fragen, da kann dir der Entwickler direkt selbst helfen. Wird sicher schneller gehen, als hier, da wir wohl nicht so viele Window9 Nutzer haben. |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
hitori04
Anmeldungsdatum: 21.04.2011 Beiträge: 53
|
Verfasst am: 23.08.2012, 15:03 Titel: |
|
|
das sollte mir jetzt peinlich sein aber wenn ich mich versuche bei der englischsprachigen seite zu registrieren und diese frage beantworten soll , kommt immer ich gebe die falsche antwort ein , als wenn es weder "Freebasic" noch "basic" ist, was zur hölle ist dann die antwort |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 23.08.2012, 15:11 Titel: |
|
|
hitori04 hat Folgendes geschrieben: | das sollte mir jetzt peinlich sein aber wenn ich mich versuche bei der englischsprachigen seite zu registrieren und diese frage beantworten soll , kommt immer ich gebe die falsche antwort ein , als wenn es weder "Freebasic" noch "basic" ist, was zur hölle ist dann die antwort |
Als ich mich vor einigen Jahren da registriert habe, gab es glaube ich diese Frage noch nicht, aber ich würde vermuten, dass es "FreeBASIC" ist (so, wie es im Titel steht).
In den Hinweisen zur Frage heißt es ja auch:
Zitat: | The answer is case sensitive. |
D. h. es kommt auf die genaue Groß-/Kleinschreibung an. _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
hitori04
Anmeldungsdatum: 21.04.2011 Beiträge: 53
|
Verfasst am: 23.08.2012, 15:16 Titel: |
|
|
Ohje, 13 std daurhaft programmieren sind doch nich so ohne, danke dein vorschlag war richtig Sebastian |
|
Nach oben |
|
|
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1875 Wohnort: D59192
|
Verfasst am: 23.08.2012, 17:17 Titel: window9 |
|
|
Hi,
mit der window9-LIB kenne ich mich etwas aus aber den MOVIE-Teil habe ich mir nicht kompiliert.
Ich kann nur vermuten wo der Fehler liegt und habe mal einen Versuch gestartet.
Code: | #Include "window9.bi"
Declare Sub resize
Dim Shared As Integer event,event2,full, movie, Mov_Flag
Dim Shared As HWND hwnd
hwnd = openWindow("FBMoviePlayer", 100,100, 320, 240)
ImageGadget(1,0,0,320,240)
movie=LoadMovie(GadgetID(1),"D:\Anime\Slayers\Slayers\Slayers - 01 - Hexenpower.avi",_
0,0,WindowWidth(hwnd)-30,WindowHeight(hwnd)-30)
Do
Var event=WindowEvent()
If event=EventClose Then Exit Do
'resize
If GetAsyncKeyState(VK_ESCAPE) Then Exit Do
If GetAsyncKeyState(VK_LCONTROL) And GetAsyncKeyState(VK_F) Then
full = Not full
MovieFullScreen(Movie,full)
Sleep(500)
ElseIf GetAsyncKeyState(VK_SPACE) Then
playmovie(movie)
MOV_FLAG = 1
Sleep(500)
ElseIf GetAsyncKeyState(VK_LCONTROL) And GetAsyncKeyState(VK_P) Then
pausemovie(movie)
Sleep(500)
EndIf
Loop
If movie Then FreeMovie(Movie)
Sub resize
Static As Integer Width_,height
If Width_<>WindowWidth(hwnd)-30 Or height<>WindowHeight(hwnd)-30 Then
Width_=WindowWidth(hwnd)-30 : height=WindowHeight(hwnd)-30
ResizeGadget(1,,,Width_,height)
EndIf
If MOV_FLAG=1 Then
ResizeMovie(movie,0,0,width_,height-30)
EndIf
End Sub
| Die resize-Routine ist mir nicht geheuer. Soll die wirklich dauernd in der Eventschleife ausgeführt werden? _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
|
hitori04
Anmeldungsdatum: 21.04.2011 Beiträge: 53
|
Verfasst am: 23.08.2012, 20:20 Titel: |
|
|
das anfängliche problem is nun weg, jetzt ist aber einfach das dumme problem da dass nach dem fullscreen der platz da wo das viedo laufen sollte einfach schwarz bleib , sorry falls das jetzt doof kling kann es aber leider nich besser erklären ...trotzdem dane hier an alle und mein bisheriger code:
Code: | #Include "window9.bi"
Dim Shared As Integer event,full, movie, Mov_Flag
Dim Shared As HWND hwnd
hwnd = openWindow("FBMoviePlayer", 100,100, 320, 240)
ImageGadget(1,0,0,WindowWidth(hwnd)-30,WindowHeight(hwnd)-30)
movie=LoadMovie(GadgetID(1),"D:\Anime\Slayers\Slayers\Slayers - 01 - Hexenpower.avi",_
0,0,WindowWidth(hwnd)-30,WindowHeight(hwnd)-30)
PlayMovie(Movie)
Do
Var event=WindowEvent()
If event=EventClose Then Exit Do
If GetAsyncKeyState(&h1B)<0 Then Exit Do
If GetAsyncKeyState(&h20)<0 Then
full = not full
MovieFullScreen(Movie,full)
sleep(500)
EndIf
If GetAsyncKeyState(VK_LCONTROL) And GetAsyncKeyState(VK_F) Then
If MovieGetState (Movie) = 2 Then
PauseMovie(Movie): Sleep(500)
elseIf MovieGetState (Movie) = 1 Then
PlayMovie(Movie): Sleep(500)
EndIf
endif
Loop
FreeMovie(Movie) |
|
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|