Problema com TMediaPlayer
Pessoal,
Criei um programa que nada mais é que um ´player genérico´. Ele exibe imagens textos e vídeos. Para exibir as informações na tela eu uso um form para cada tipo de dados. Ex.: Se eu quiser exibir dois vídeos ocupando metade da tela cada um, e por cima dos vídeo exibir um texto e uma imagem, ocupando uma pequena parte da tela sobre os vídeos, o programa gera 4 forms, um para cada coisa. Para cada form eu crio um playlist que vai sendo alternado à medida que o tempo vai passando.
PROBLEMA:
Quando coincide de o vídeo do form1 terminar depois do início do vídeo do form2, não sei que zica ocorre na memória (ou que o MediaPlayer gera na memória em uso) que influencia na exibição dos outros forms, de texto e de imagem, fazendo com que fiquem piscando muito rapidamente.
Alguém tem idéia do que pode estar ocorrendo?
Criei um programa que nada mais é que um ´player genérico´. Ele exibe imagens textos e vídeos. Para exibir as informações na tela eu uso um form para cada tipo de dados. Ex.: Se eu quiser exibir dois vídeos ocupando metade da tela cada um, e por cima dos vídeo exibir um texto e uma imagem, ocupando uma pequena parte da tela sobre os vídeos, o programa gera 4 forms, um para cada coisa. Para cada form eu crio um playlist que vai sendo alternado à medida que o tempo vai passando.
PROBLEMA:
Quando coincide de o vídeo do form1 terminar depois do início do vídeo do form2, não sei que zica ocorre na memória (ou que o MediaPlayer gera na memória em uso) que influencia na exibição dos outros forms, de texto e de imagem, fazendo com que fiquem piscando muito rapidamente.
Alguém tem idéia do que pode estar ocorrendo?
Rtava
Curtidas 0
Respostas
.lg.
03/09/2009
Está usando threat pra controle!?
O que é executado (codigo) quando o seu video acaba!?
O que é executado (codigo) quando o seu video acaba!?
GOSTEI 0
Rtava
03/09/2009
Sim, estou usando uma thread para sincronizar os disparos das coisas que preciso exibir. Cada Form possui seu próprio playlist. Seja um form para exibir vídeo, imagem ou texto. Cada vez que é decorrido o tempo que determinei para um item do playlist de um determinado form, a thread executa o avanço para o próximo item do playlist desse mesmo form e assim vai até o final e reiniciar o loop de playlist.
Uma coisa importante que esqueci de informar, é que esse ´piscado´ só ocorre quando coloco um Form transparente para exibir textos sobre um vídeo. Já tentei resolver o problema escrevendo o texto direto no Canvas do Form, mas tb não funcionou e o ´piscado´ se matém.
Uma coisa importante que esqueci de informar, é que esse ´piscado´ só ocorre quando coloco um Form transparente para exibir textos sobre um vídeo. Já tentei resolver o problema escrevendo o texto direto no Canvas do Form, mas tb não funcionou e o ´piscado´ se matém.
GOSTEI 0
Rtava
03/09/2009
Detalhe: não adianta tentar criar um form para exibir um vídeo e colocar outro form transparente em cima para exibir o texto, pois dessa forma vai funcionar sempre. Só aparece o erro se fizer conforme comentei no início do tópico.
GOSTEI 0
Rtava
03/09/2009
Resolvido! Graças a Deus...
Usei a biblioteca DSPack para reproduzir vídeos, com os componentes TVideoWindow e TFilterGraph, com as configurações indicadas nos programas demos que veem com a biblioteca, exceto por duas propriedades do TVideoWindow:
Mode = vmVMR
VMROptions -> Mode = vmrWindowless
Isso faz com que tudo pare de piscar (efeito flicker).
abs.
Usei a biblioteca DSPack para reproduzir vídeos, com os componentes TVideoWindow e TFilterGraph, com as configurações indicadas nos programas demos que veem com a biblioteca, exceto por duas propriedades do TVideoWindow:
Mode = vmVMR
VMROptions -> Mode = vmrWindowless
Isso faz com que tudo pare de piscar (efeito flicker).
abs.
GOSTEI 0
Rodrigo Paulo
03/09/2009
Resolvido! Graças a Deus...
Usei a biblioteca DSPack para reproduzir vídeos, com os componentes TVideoWindow e TFilterGraph, com as configurações indicadas nos programas demos que veem com a biblioteca, exceto por duas propriedades do TVideoWindow:
Mode = vmVMR
VMROptions -> Mode = vmrWindowless
Isso faz com que tudo pare de piscar (efeito flicker).
abs.
Como você fez esse player ? Tem como disponibilizar o fonte ?
Abs
Usei a biblioteca DSPack para reproduzir vídeos, com os componentes TVideoWindow e TFilterGraph, com as configurações indicadas nos programas demos que veem com a biblioteca, exceto por duas propriedades do TVideoWindow:
Mode = vmVMR
VMROptions -> Mode = vmrWindowless
Isso faz com que tudo pare de piscar (efeito flicker).
abs.
GOSTEI 0
José
03/09/2009
Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
GOSTEI 0