Ir ao conteúdo
  • Cadastre-se

Como ler Array de arquivos de video num programa ?


Twodio

Posts recomendados

Olá pessoal.

 

Não sei se ja viram, mas normalmente nos video cursos encontra-se sempre um arquivo executável como "videocurso.exe" ou outro nome, que quando aberto ele lê uma matriz existente num ficheiro de texto e agrupa-os em uma lista, que quando cada elemento é clicado reproduz o video selecionado.

 

Eu não sou expert com C,C++ ou mesmo C#, mas só posso dizer que até agora não tenho muito, se alguém puder dar-me alguma dica de como implemento essa ideia no meu próprio programa para tornar o meu curso interativo mais interessante ficaria agradecido.

 

Neste momento tenho um ficheiro HTML,CSS que contém uma lista com os videos e os reproduz no browser, mas eu gostaria de torna-los menos dependentes e abri-los dentro de um executavel.

Link para o comentário
Compartilhar em outros sites

Cara você precisa procurar algo no sentido de stream de imagem. . . Você precisa pegar os bytes do fluxo do arquivo . . .

Veja um exemplo de como pegar a imagem em bytes de uma imagem (estática, um único frame) . . . Isso não vai funcionar se você tentar rodar porque falta código (código gigante por sinal . . . ), Mais vai te dar uma noção do que deve ser feito, pelo menos em relação a um único frame.

void CPDImagemView::Nome(){    CPDImagemDoc* pDocIn = GetDocument(); 	BYTE *lpTemp = pDocIn->Imagem.lpBits; // Recebe a imagem original em bytes    CDocTemplate* pTemplate = pDocIn->GetDocTemplate(); // Template para carregar a imagem    CPDImagemDoc* pDocOut = (CPDImagemDoc*) pTemplate->CreateNewDocument();     pDocOut->Imagem.hDIB = pDocIn->Imagem.CopyHandle(); // Aponta para a imagem    pDocOut->Imagem.InitDIBData();	long int row = 0;	long int col = 0;	long int height = (long int) pDocIn->Imagem.GetHeight(); // Linha 	long int width = (long int) pDocIn->Imagem.GetWidth(); // Coluna	//Acessa todos os pixels do frame	for (row = 0; row < height; row++){		for (col = 0; col < width; col++){						double B = lpTemp[row * pDocIn->Imagem.bmWidthBytes + col *3 + 0]; // B			double G = lpTemp[row * pDocIn->Imagem.bmWidthBytes + col *3 + 1]; // G			double R = lpTemp[row * pDocIn->Imagem.bmWidthBytes + col *3 + 2]; // R						// Aqui você pode criar algum algoritmo para mudar a imagem original			lpTemp[row * pDocIn->Imagem.bmWidthBytes + col *3 + 0] = (BYTE) 255; //Componente B			lpTemp[row * pDocIn->Imagem.bmWidthBytes + col *3 + 1] = (BYTE) 255; //componente G			lpTemp[row * pDocIn->Imagem.bmWidthBytes + col *3 + 2] = (BYTE) 255; //componente R		}	}	CString TitleWindow = "Nome do Alg";     pDocOut->SetTitle(TitleWindow);    CFrameWnd* pFrameO;    pFrameO = CreateChild(pDocOut, pDocOut); // <<<<<<<< Mostra a imagem modificada}
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...