Problema com TMediaPlayer

Delphi

03/09/2009

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?


Rtava

Rtava

Curtidas 0

Respostas

.lg.

.lg.

03/09/2009

Está usando threat pra controle!?
O que é executado (codigo) quando o seu video acaba!?


GOSTEI 0
Rtava

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.


GOSTEI 0
Rtava

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

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.


GOSTEI 0
Rodrigo Paulo

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
GOSTEI 0
José

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
POSTAR