inicio características api download svn licencia contactar
English  
 

VideoCore (versión pre-alfa)

VideoCore proporciona soporte para flujos de video a una pantalla de la ventana. Se adopta el enfoque de que una pantalla puede tener una o más secuencias de vídeo, cada uno de ellos tiene una o más secuencias de vídeo independientes que pasar. Escrito en C++, y creado con la idea de ayudar a los desarrolladores.

El código fuente esta bajo licencia LGPL. Esto quiere decir que es completamente libre para utilizarlo en aplicaciones comerciales y no comerciales.

 InputCore Logo
 
 

Ejemplo utilizando la clase implementación

Este ejemplo muestra como puedes utilizar la clase implementación.

// Incluimos el archivo de cabecera principal, que contiene 
// la clase implementacion.

#include <ceVideoCoreImpl.h>
#include <cstdio> // Por printf.

// Utilizamos el namespace "ce" (CorEngine) por defecto (Opcional).

using namespace ce;

// Creamos nuestra propia clase manager, heredando la clase implementacion.
class CVideoManager : public IVideoManagerImpl<CVideoManager>
{
public:

inline short Example(void) const
{
// Recupera la información de la ventana (Opcional).
SWindowInfo *WindowInfo = this -> Video -> GetWindowInfo();

WindowInfo -> width = 512;
WindowInfo -> height = 384;

WindowInfo -> resize = TRUE;

// Este metodo crea una ventana (Opcional, Pero es requerido para poder
// obtener la información del video).

if (this -> Video -> CreateVideoWindow() == 0) return 1;

// Identificadores de videos.
unsigned int video1;
unsigned int video2;

// Carga un archivo de video.
video1 = this -> Video -> LoadVideoFile("video1.mpg",
CE_VIDEO_NOPLAYBAR | CE_VIDEO_NOMENU | CE_VIDEO_AUTOPLAY);

video2 = this -> Video -> LoadVideoFile("video2.mpg", CE_VIDEO_HIDE);

// Inicializa el bucle principal de la ventana.
this -> Video -> InitVideoWindow();

// Libera el video (Opcional).
this -> Video -> ReleaseVideo(video1);

// Con este metodo hacemos visible al video.
this -> Video -> ShowVideo(video2, TRUE);

// Actualizamos el bucle principal de la ventana.
while (this -> Video -> UpdateVideoWindow()) continue;

// Liberamos todos los videos (Opcional).
this -> Video -> ReleaseAllVideos();

// Este metodo desregistra una ventana, Liberando la memoria
// requerida para la ventana (Opcional).

this -> Video -> UnregisterVideoWindow();

return 0;
};

// Operador -> (Opcional).
const CVideoManager* operator -> (void) const
{ return this; };

};

int main(int argc, char **argv)
{
// Creamos una instancia de nuestra clase manager.
const CVideoManager Video;

// Verificamos la integridad de la clase manager (Opcional).
if (Video -> VerifyVideoManager() == 0) return 1;

return Video -> Example();
}

Nota : Utiliza la clase implementación, porque es mas fácil.

 

Ejemplo utilizando las clases de interfaces

Este ejemplo muestra como puedes utilizar las clases de interfaces.

// Incluimos el archivo de cabecera principal, que contiene la clase interfaz.
#include <ceVideoCore.h>
#include <cstdio> // Por printf.

//
Utilizamos el namespace "ce" (CorEngine) por defecto (Opcional).
using namespace ce;

int main(int argc, char **argv)
{
// Creamos una instancia de la clase manager.
IVideoManager *Video = CreateVideoManager();
if (Video == NULL) return 1;

// Recupera la información de la ventana (Opcional).
SWindowInfo *WindowInfo = Video -> GetWindowInfo();

WindowInfo -> width = 512;
WindowInfo -> height = 384;

WindowInfo -> resize = TRUE;

// Este metodo crea una ventana (Opcional, Pero es requerido para poder
// obtener la información del video
).
if (Video -> CreateVideoWindow() == 0)
{
// Liberamos la instancia de la clase manager.
DestroyVideoManager(&Video); return 1;
}

// Identificadores de videos.
unsigned int video1;
unsigned int video2;

// Carga un archivo de video.
video1 = Video -> LoadVideoFile("video1.mpg", CE_VIDEO_NOPLAYBAR |
CE_VIDEO_NOMENU |
CE_VIDEO_AUTOPLAY);

video2 = Video -> LoadVideoFile("video2.mpg", CE_VIDEO_HIDE);

// Inicializa el bucle principal de la ventana.
Video -> InitVideoWindow();

// Libera el video (Opcional).
Video -> ReleaseVideo(video1);

// Con este metodo hacemos visible al video.
Video -> ShowVideo(video2, TRUE);

// Actualizamos el bucle principal de la ventana.
while (Video -> UpdateVideoWindow()) continue;

// Liberamos todos los videos (Opcional).
Video -> ReleaseAllVideos();

// Este metodo desregistra una ventana, Liberando la memoria
// requerida para la ventana (Opcional).

Video -> UnregisterVideoWindow();

// Liberamos la instancia de la clase manager.
DestroyVideoManager(&Video);

return 0;
}
 

Hasta aquí ya sabes lo básico para su utilización, para mas información, recomiendo leer la documentación de la API. Para soporte o ante cualquier duda o sugerencia, no dudes en contactarme.

 
 
 SourceForge.net
 
   Creative Commons License   Salvo que se indique lo contrario, el contenido de este sitio
  está bajo una licencia Creative Commons Attribution 3.0 License