avi control please help needed.

Blitz3D Forums/Blitz3D Programming/avi control please help needed.

Andy UK(Posted 2004) [#1]
Hi, im trying to load an avi but i dont want it to start playing right away. is there any way i can pause it right after loading or is there an avi dll floating about? thanx in advance.


Neo Genesis10(Posted 2004) [#2]
There is no way to stop it from playing natively. Movie commands are somewhat lacking at present. Not sure if there are any DLLs for the job, but if there are I'd be just as interested to find them!


electronin(Posted 2004) [#3]
There is this. Not blitz basic, but could be put into a DLL. If you want me to try and work on it, let me know, I could use a good challenge right now :)


jhocking(Posted 2004) [#4]
A DLL for control of movie playback would be very useful. I've requested more movie commands before but Mark isn't really focusing on movie playback. The specific commands I requested would allow stop/pause, play, rewind, fast forward, and adjusting the volume of the movie.


electronin(Posted 2004) [#5]
I think I can only get it to play animations without sounds. So if you're doing a movie preview program, you're screwed :)


Beaker(Posted 2004) [#6]
Seek is the big one for me. Can you get the Hwnd of the movie object in Blitz3D?


electronin(Posted 2004) [#7]
Ummm... maybe with EnumChildWindows() or something??? I'll go look that up...


Andy UK(Posted 2004) [#8]
thanx peeps... was just looking for a quick solution for broadcasting video from one pc to many using a data chain.


electronin(Posted 2004) [#9]
@MasterBeaker - Okay, I've got some C++ source that should get the HWND of the blitz movie control, but doesn't work so far... maybe you can look at it?
#include <windows.h>

extern "C"{
_declspec(dllexport) HWND _cdecl GrabMovie();
}

HWND moviewnd=NULL;

BOOL CALLBACK EnumProc(HWND hwnd,LPARAM lParam)
{
LPTSTR cname[1000];
GetClassName(hwnd,(LPTSTR)cname,1000);
if((LPTSTR)cname=="SysAnimate32")
{
moviewnd=hwnd;
return false;
}
return true;
}


HWND GrabMovie()
{
EnumChildWindows(GetActiveWindow(),(WNDENUMPROC)EnumProc,(LPARAM)NULL);
return moviewnd;
}

Thanks!


Dirk Krause(Posted 2004) [#10]
Did someone get this code to work?