Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Florian Super JLI'ler
Alter: 36 Anmeldedatum: 20.06.2003 Beiträge: 302
Medaillen: Keine
|
Verfasst am: 06.02.2004, 13:17 Titel: Videos abspielen |
|
|
Hallo ich möchte in meinen Spiel kurze Video Sequenzen abspielen wie kann ihc das mit Directx9 bewerkstelligen.
danke im Voraus |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 06.02.2004, 13:28 Titel: |
|
|
Das geht mit DirectShow.
Allerdings kann ich dir keinen Code geben, bzw. weiß nicht wie das genau geht. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
nigs Super JLI'ler
Anmeldedatum: 19.12.2002 Beiträge: 359
Medaillen: Keine
|
Verfasst am: 06.02.2004, 20:04 Titel: |
|
|
am besten googelst du ein bischen nach tuts für ds..... |
|
Nach oben |
|
|
Florian Super JLI'ler
Alter: 36 Anmeldedatum: 20.06.2003 Beiträge: 302
Medaillen: Keine
|
Verfasst am: 06.02.2004, 21:03 Titel: |
|
|
Ich konnte nichts finden(Google) aber habt ihr zufällig ein gutes Tutorial |
|
Nach oben |
|
|
nigs Super JLI'ler
Anmeldedatum: 19.12.2002 Beiträge: 359
Medaillen: Keine
|
Verfasst am: 06.02.2004, 21:52 Titel: |
|
|
erster treffer bei google mit suchwörtern "direct show beispiel":
www.htw-dresden.de/~Lehrbuch/material/DirectShow.pdf
die pdf hat ich mal kurz überlesen, da ist beispielcode und erklärung dabei sollte eigentlich reichen um einfache videos abzuspielen..... |
|
Nach oben |
|
|
=]Mid[=]Night[= Super JLI'ler
Anmeldedatum: 20.11.2002 Beiträge: 380 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 12.02.2004, 09:25 Titel: |
|
|
'ne frage, falls das irgendwer weiß: kann man das direkt im spiel machen, also in einem kleinen fenster das video laufen lassen? geht das überhaupt mit der framerate von dem spiel? ... oder geht das mit directshow nur alleine, so lange kein d3d läuft? |
|
Nach oben |
|
|
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 12.02.2004, 10:04 Titel: |
|
|
du kannst dir ja ein zweites fenster nur für die videos machen, und das bei bedarf anzeigen, das sollte auf jeden fall gehen. |
|
Nach oben |
|
|
=]Mid[=]Night[= Super JLI'ler
Anmeldedatum: 20.11.2002 Beiträge: 380 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 12.02.2004, 10:13 Titel: |
|
|
schon, aber das funktioniert wahrscheinlich nicht im d3d-vollbild-modus, wie es z.B. bei Starcraft war, mit den Portraits der Einheiten (das sind .smk-Videos) |
|
Nach oben |
|
|
nigs Super JLI'ler
Anmeldedatum: 19.12.2002 Beiträge: 359
Medaillen: Keine
|
Verfasst am: 12.02.2004, 19:53 Titel: |
|
|
eigentlich müste es schon möglich sein das video in einem kleinen ausschnitt abzuspielen. Dshow wär ja ziemlich sch.... wenn das nich ginge!
aber es wundert mich sowiesio das man im internet nich soviel sachen zu directshow findet, es müste doch eigentlich sehr gefragt sein in einem prog videos etc. abzuspielen.... |
|
Nach oben |
|
|
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 12.02.2004, 20:09 Titel: |
|
|
man kann die videos soweit ich weiß auch als textur benutzen so dass beispielsweise auf einer wand ein video abgespielt wird. |
|
Nach oben |
|
|
Florian Super JLI'ler
Alter: 36 Anmeldedatum: 20.06.2003 Beiträge: 302
Medaillen: Keine
|
Verfasst am: 12.02.2004, 22:23 Titel: |
|
|
Hallo
Danke für die Antworten
Also ich kann jetzt ein Videp abspielen leider nur in einem Fenster.
Aber ich möchte das Video aber für mein Spiel benutzten.(Fullscreen);
das es Fullscreen angezeigt wird habe ich geschaft aber das war es auch
schon.
Kann mir jemand helfen ich möchte gerne das video unter dem Spiel
Strarten und dann wider weiterspielen können.
Ich habe schon gelesen das man es so machen könnte das im einen Fenster das Spiel läuft und wenn man dann den Film ansehen möcht in das andere Fenster kurz umschaltet.
Leider weiß ich nicht wie das geht.
Bitte um Hilfe |
|
Nach oben |
|
|
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 13.02.2004, 03:59 Titel: |
|
|
ich würd einfach ein child fenster für die videos erstellen und das bei bedarf mit ShowWindow() über dem eigentlichen fenster anzeigen...
midnight hat mich zwar ein bißchen verunsichert, ob das auch im vollbildmodus funkt, aber ich denke schon. |
|
Nach oben |
|
|
fowly JLI'ler
Anmeldedatum: 25.01.2004 Beiträge: 196 Wohnort: Detmold - NRW Medaillen: Keine
|
Verfasst am: 13.02.2004, 10:39 Titel: |
|
|
du musst danach das Device resetten und die Texturen widerherstellen |
|
Nach oben |
|
|
Florian Super JLI'ler
Alter: 36 Anmeldedatum: 20.06.2003 Beiträge: 302
Medaillen: Keine
|
Verfasst am: 13.02.2004, 11:07 Titel: |
|
|
und wie kann ich das machen reseten und texturen wiederherstellen.
ach übrigens das mit ShowWindow funktioniert bei mir nicht.Aber ich habe mal wider etwas herumbrobiert und habe jetzt mit putFulscreen oder wie die Funktion in DS heißt einfach umgeschalten.das funktioniert auch wen das Spiel läuft und dann ein Video
abgespielt werden soll aber wie komm ich zum Spiel dann wider zurück.
Kann mir jemand vieleicht einen Code zeigen
Danke |
|
Nach oben |
|
|
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 14.02.2004, 07:19 Titel: |
|
|
ich habs mal kurz in fullscreen ausprobiert und es funkt ohne probleme. ich poste mal die funktion, die die fenster erstellt, und die Callback funktion:
Code: |
bool CreateWindows(void)
{
HBRUSH hBlackBrush = CreateSolidBrush(RGB(0, 0, 0));
WNDCLASSEX wcMain;
wcMain.cbSize = sizeof(WNDCLASSEX);
wcMain.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS | CS_OWNDC;
wcMain.lpfnWndProc = MainWndProc;
wcMain.hCursor = LoadCursor(NULL, IDC_ARROW);
wcMain.hIcon = LoadIcon(NULL, IDI_WINLOGO);
wcMain.lpszClassName = "MainWindowClass";
wcMain.hInstance = g_hInst;
wcMain.hbrBackground = hBlackBrush;
wcMain.lpszMenuName = 0;
wcMain.cbClsExtra = 0;
wcMain.cbWndExtra = 0;
wcMain.hIconSm = NULL;
RegisterClassEx(&wcMain);
g_hMainWnd = CreateWindowEx(NULL, "MainWindowClass", "Level Editor",
WS_POPUP | WS_VISIBLE,
200, 100, 1024, 768,
NULL, NULL, g_hInst, NULL);
g_hTestWnd = CreateWindowEx(NULL, "MainWindowClass", "Level Editor",
WS_VISIBLE | WS_CHILD | WS_DLGFRAME,
0, 0, 100, 100,
g_hMainWnd, NULL, NULL, NULL);
ShowWindow(g_hTestWnd, SW_HIDE);
return true;
}
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT uiMsg, WPARAM wParam, LPARAM lParam)
{
switch(uiMsg)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
break;
case WM_KEYDOWN:
switch(wParam)
{
case VK_ESCAPE:
DestroyWindow(g_hMainWnd);
break;
case VK_F1:
SetWindowPos(g_hTestWnd, HWND_TOPMOST, 0, 0, 100, 100, SWP_NOZORDER);
ShowWindow(g_hTestWnd, SW_SHOWNORMAL);
break;
case VK_F2:
ShowWindow(g_hTestWnd, SW_HIDE);
break;
}
break;
}
return DefWindowProc(hWnd, uiMsg, wParam, lParam);
} |
bei F1 wird das zweite fenster angezeigt, bei F2 wieder versteckt.
ich kenn mich mit directshow leider nicht aus, aber man könnte jetzt in beiden fenstern z.B. D3D initialisieren. |
|
Nach oben |
|
|
|