Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Trabalhando com Video no DELPHI


OtakuThug
 Compartilhar

Posts Recomendados

A utilização de arquivos de vídeo no Delphi pode incrementar suas aplicações tornando-as mais atraentes e interativas.

 

Exemplo 1 – Executando um vídeo em um componente:

 

view sourceprint?

01.Procedure Executar_Video;

02.Begin

03. with MediaPlayerVideo do

04. begin

05. //Informamos qual é o arquivo de vídeo que será executado

06. MediaPlayerVideo.FileName := GetCurrentDir+'\Videos\Video_Teste.mpg';

07.

08. //Abrimos o Media Player

09. Open;

10.

11. //Informamos em qual componente será exibido o vídeo

12. //Se omitimos onde o vídeo será exibido o delphi cria uma nova janela com a mesma resolução do vídeo

13. Display := Nome_Componente;

14.

15. //Informamos que o vídeo será redimensionado para ocupar todo o componente

16. //Se omitimos esta declaração o delphi executa o vídeo com sua resolução original

17. MediaPlayerVideo.DisplayRect := Nome_Componente.ClientRect;

18.

19. //Executamos o vídeo

20. Play;

21. end;

22.End;

 

 

Com o exemplo 1 conseguimos executar com sucesso um arquivo de vídeo em um componente do delphi como, por exemplo, um Panel. Porém não conseguimos alterar o volume do vídeo que esta sendo exibido.

 

Exemplo 2 – Controlando o áudio de seu vídeo:

 

Vamos declarar em uses MMSystem. Adicione também:

 

view sourceprint?

01.const

02. MCI_SETAUDIO = $0873;

03. MCI_DGV_SETAUDIO_VOLUME = $4002;

04. MCI_DGV_SETAUDIO_ITEM = $00800000;

05. MCI_DGV_SETAUDIO_VALUE = $01000000;

06. MCI_DGV_STATUS_VOLUME = $4019;

07.

08.type

09. MCI_DGV_SETAUDIO_PARMS = record

10. dwCallback: DWORD;

11. dwItem: DWORD;

12. dwValue: DWORD;

13. dwOver: DWORD;

14. lpstrAlgorithm: PChar;

15. lpstrQuality: PChar;

16. end;

17.

18.type

19. MCI_STATUS_PARMS = record

20. dwCallback: DWORD;

21. dwReturn: DWORD;

22. dwItem: DWORD;

23. dwTrack: DWORD;

24. end;

 

 

Vamos adicionar uma procedure e uma function:

 

view sourceprint?

01.procedure MPSetVolume(MP: TMediaPlayer; Volume: Integer) ;

02.var

03. p: MCI_DGV_SETAUDIO_PARMS;

04.begin

05. p.dwCallback := 0;

06. p.dwItem := MCI_DGV_SETAUDIO_VOLUME;

07. p.dwValue := Volume;

08. p.dwOver := 0;

09. p.lpstrAlgorithm := nil;

10. p.lpstrQuality := nil;

11. mciSendCommand(MP.DeviceID, MCI_SETAUDIO, MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM, Cardinal(@p)) ;

12.end;

13.

14.function MPGetVolume(MP: TMediaPlayer): Integer;

15.var

16. p: MCI_STATUS_PARMS;

17.begin

18. p.dwCallback := 0;

19. p.dwItem := MCI_DGV_STATUS_VOLUME;

20. mciSendCommand(MP.DeviceID, MCI_STATUS, MCI_STATUS_ITEM, Cardinal(@p)) ;

21. Result := p.dwReturn;

22.end;

 

 

Para saber qual é o volume atual do MediaPlayer usamos a function MPGetVolume.

 

Ex:

 

view sourceprint?

1.Edit.Text := inttostr(MPGetVolume(Nome_do_Componente_MediaPlayer).

 

 

E para alterar usamos a procedure MPSetVolume. Onde informamos o nome do componente MediaPlayer que terá seu volume alterado e o novo valor. O volume pode ser alterado entre 0 e 1000.

 

Ex:

 

view sourceprint?

1.MPSetVolume(Nome_do_Componente_MediaPlayer,100).

 

 

Para verificar se o vídeo já terminou de ser exibido pode-se adicionar um ProgressBar a aplicação e através de um timer sincronizar a propriedade Position de ambos durante a exibição do video

Duvida PERGUNTE

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.