private void CarregarListaVideos() { listaVideos.Clear(); foreach (string caminho in listaPaths) { if (caminho.EndsWith(".v01")) { VideoV01 video = new VideoV01(); if (caminho.Contains(":")) { video.Abrir(caminho); } else { video.Abrir(DiretorioRaiz + Util.Util.TrataDiretorioFWParaWindows(Util.Util.ARQUIVO_SEPARADOR_DIRETORIO + caminho)); } listaVideos.Add(video); } else if (caminho.EndsWith(".v02")) { VideoV02 video = new VideoV02(); if (caminho.Contains(":")) { //se for mais de um video video.Abrir(caminho); } else { // se for apenas um video video.Abrir(DiretorioRaiz + Util.Util.TrataDiretorioFWParaWindows(Util.Util.ARQUIVO_SEPARADOR_DIRETORIO + caminho)); } listaVideos.Add(video); } else if (caminho.EndsWith(".v04")) { VideoV04 video = new VideoV04(); if (caminho.Contains(":")) { video.Abrir(caminho); } else { video.Abrir(DiretorioRaiz + Util.Util.TrataDiretorioFWParaWindows(Util.Util.ARQUIVO_SEPARADOR_DIRETORIO + caminho)); } listaVideos.Add(video); } } }
public VideoV04(VideoV04 oldValue) { this.tamanhoDesenho = new Size(); this.tamanhoDesenho.Height = oldValue.tamanhoDesenho.Height; this.tamanhoDesenho.Width = oldValue.tamanhoDesenho.Width; this.posicao = new Point(); this.posicao.X = oldValue.posicao.X; this.posicao.Y = oldValue.posicao.Y; this.Tamanho = oldValue.Tamanho; this.versao = oldValue.versao; this.formato = new byte[oldValue.formato.Length]; oldValue.formato.CopyTo(this.formato, 0); this.qntFrames = oldValue.qntFrames; }
public void LoadFromBytes(byte[] dados) { unsafe { fixed(byte *pSrc = dados) { FormatoPlaylist *listaArquivos = (FormatoPlaylist *)pSrc; Byte[] temporario = new byte[listaArquivos->qtdArquivos]; listaArquivos->Tamanho = (UInt32)dados.Length; this.versao = listaArquivos->versao; this.qtdArquivos = listaArquivos->qtdArquivos; // Limpa a lista this.listaVideos.Clear(); int indice = sizeof(FormatoPlaylist) - sizeof(UInt32); for (int i = 0; i < this.qtdArquivos; i++) { int indiceInicial = indice; // Pegar o tamanho do Arquivo uint tamanhoArquivo = BitConverter.ToUInt32(dados, indice); byte[] dadosVideo = new byte[tamanhoArquivo]; // Atualiza o indice com o tamanho do arquivo indice += sizeof(uint); // Pular a versão indice++; Array.Copy(dados, indiceInicial, dadosVideo, 0, tamanhoArquivo); // Pegar o formato do Arquivo Ex.: V02 if (Encoding.ASCII.GetString(dados, indice, 3).ToUpper().Equals("V01")) { // Instancia o video a partir do formato VideoV01 video = new VideoV01(); // Carrega através do ARRAY video.LoadFromBytes(dadosVideo); // Adiciona o video listaVideos.Add(video); } else if (Encoding.ASCII.GetString(dados, indice, 3).ToUpper().Equals("V02")) { // Instancia o video a partir do formato VideoV02 video = new VideoV02(); // Carrega através do ARRAY video.LoadFromBytes(dadosVideo); // Adiciona o video listaVideos.Add(video); } else if (Encoding.ASCII.GetString(dados, indice, 3).ToUpper().Equals("V04")) { // Instancia o video a partir do formato VideoV04 video = new VideoV04(); // Carrega através do ARRAY video.LoadFromBytes(dadosVideo); // Adiciona o video listaVideos.Add(video); } indice = indice + dadosVideo.Length; indice = indice - sizeof(uint); indice = indice - 1; } } } }