Ok lo siento.
Me he descargado el CRM32Pro SDK, y viene con un sistema de ayuda y con ajemplos basicos para su utilizacion.
Lo unico que necesito de esta libreria es la reproduccion de video, por lo que me he puesto a intentar comprender unicamente el ejemplo que viene de video, el numer 5. Os pego el codigo:
He intentado correr ese codigo que ya viene hecho pero me da fallos y no m linka.
He intentado usdar unicamente la funcion IVideo->PlayMPEG(argv[1],1); pero no consigo nada, segun el archivo de ayuda se utilizaria:
PD Respecto al programa, utilizao el Visual C++ 6.0 dentro de la suite Visual Studio.
A ver si asi está todo correcto, si no, lo siento, decirme que mas datos os puedo facilitar para que me ayudeis.
Muchas Gracias.
Me he descargado el CRM32Pro SDK, y viene con un sistema de ayuda y con ajemplos basicos para su utilizacion.
Lo unico que necesito de esta libreria es la reproduccion de video, por lo que me he puesto a intentar comprender unicamente el ejemplo que viene de video, el numer 5. Os pego el codigo:
Código [Seleccionar]
// ---Includes---
#include "CRM32Pro.h"
// ---Defines---
#define EXAMPLE_VERSION "Example 5: Video player"
#define GFX_RESOURCE "data/gfx.dpf" // DPF with graphic resources
// ---Prototypes---
void ChangeFX(int kPressed);
void PrintHelp(char *sErrMsg = NULL);
// -------------MAIN FUNCTION----------------
int main(int argc,char *argv[])
{
Uint8 done = 0;
// -Log system initialize-
ILogSystem.Init("VideoPlayer.log",LOG_CONSOLE | LOG_FILE,LOG_NORMAL,EXAMPLE_VERSION);
// -Print help without any arguments-
if(argc < 2)
{
PrintHelp();
ILogSystem.Msg(LOG_LOW," · [LOG] - We need the .mpg video to play, try with \"VideoPlayer.exe your.mpg\"\n\n");
return 1;
}
// -CRM32Pro and SDL initialize-
if(CRM32Pro.Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER) < 0)
{
ILogSystem.Msg(LOG_NORMAL," · [LOG] - Couldn´t initialize CRM32Pro: %s\n",SDL_GetError());
return 1;
}
// -Desired config-
CRM32Pro.Config.Title = EXAMPLE_VERSION;
CRM32Pro.Config.Icon = IImage->Load(GFX_RESOURCE,"icono");
// -Graphics system initialize-
if(!CRM32Pro.SetVideoMode())
{
CRM32Pro.Quit();
return 1;
}
// -Play MPEG-
IVideo->SetPosition(VIDEO_PLAY_CENTER,VIDEO_PLAY_CENTER);
IVideo->SetFunction(ChangeFX);
IVideo->PlayMPEG(argv[1],1);
// -Exiting..-
ILogSystem.Msg(LOG_NORMAL,"\n · [INFO]: end of execution.\n");
CRM32Pro.VideoInfo();
CRM32Pro.Quit();
return 0;
}
// Function to be called when a MPEG frame will be updated.
void ChangeFX(int kPressed)
{
static int fx = FXSCREEN_NULL;
if(kPressed == SDLK_LEFT)
{
if(fx > 0) fx--;
IVideo->SetFX(fx);
}
else if(kPressed == SDLK_RIGHT)
{
if(fx < FXSCREEN_BLUE) fx++;
IVideo->SetFX(fx);
}
}
// --------------------Help STUFF------------------------
// -Print help-
void PrintHelp(char *sErrMsg)
{
printf("-----------------------------------------------------------\n");
printf(" CRM32Pro SDK - HelpScreen\n %s\n",EXAMPLE_VERSION);
printf("-----------------------------------------------------------\n\n");
printf(" Use:\n");
printf(" - 'VideoPlayer your_video.mpg' to play the video.\n\n");
printf(" During the playback, you can use next keys:\n");
printf(" [ESCAPE] to abort and exit.\n");
printf(" [RIGHT CURSOR] to select the next FX effect.\n");
printf(" [LEFT CURSOR] to select the previous FX effect.\n");
if(sErrMsg != NULL) printf("%s",sErrMsg);
else printf("\n");
puts("Press [ENTER] key to continue.");
getchar();
}
He intentado correr ese codigo que ya viene hecho pero me da fallos y no m linka.
He intentado usdar unicamente la funcion IVideo->PlayMPEG(argv[1],1); pero no consigo nada, segun el archivo de ayuda se utilizaria:
Código [Seleccionar]
char CRM32Pro_IVideo::PlayMPEG ( char * file,
char bSound = 1,
char bFilter = VIDEO_FILTER_NULL
)
PD Respecto al programa, utilizao el Visual C++ 6.0 dentro de la suite Visual Studio.
A ver si asi está todo correcto, si no, lo siento, decirme que mas datos os puedo facilitar para que me ayudeis.
Muchas Gracias.