Ver Mensaje Individual
  #1  
Antiguo 04-05-2015
buenarquero buenarquero is offline
Miembro
 
Registrado: feb 2008
Posts: 33
Reputación: 0
buenarquero Va por buen camino
Variar brillo de un vídeo

Intento variar el brillo de un vídeo reproducido con un TMediaPlayer usando las api multimedia de windows, pero no me funciona. El código que estoy usando lo pongo a continuación. Alguno me puede ayudar, porque obviamente algo esta mal pero no consigo averiguar que es.
Código Delphi [-]
unit RegularBrillo;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, MPlayer, MMSystem, ExtCtrls, StdCtrls, OleCtnrs;

type
  MCI_DGV_SETVIDEO_OUTPUT = Record
    dwCallBack: DWORD;
    dwItem: DWORD;
    dwValue: DWORD;
    dwOver: DWORD;
    LpstrQuality: PChar;
    LpstrAlgorithm: PChar;
    dwSourceNumber: DWORD;
  end;

// -------------------------------------------------------------------------------------

procedure TVentanaVideo.AsignaBrillo(MP:TMediaPlayer;Nivel:Integer);
var p:MCI_DGV_SETVIDEO_OUTPUT;
begin
 p.dwCallBack:=0;
  p.dwItem:=$4000;
  p.dwValue:=Nivel;
  p.dwOver:=0;
  p.LpstrQuality:=nil;
  p.LpstrAlgorithm:=nil;
  p.dwSourceNumber:=0;
  mciSendCommand(MP.DeviceID,$0000876,$1000000 or $4000000,Cardinal(@p));
end;

procedure TVentanaVideo.BrilloChange(Sender: TObject);
begin
  AsignaBrillo(Video1,1000-Brillo.Position);
  Label1.Caption:=IntToStr((1000-Brillo.Position)Div 10)+' %';
end;

Última edición por nlsgarcia fecha: 04-05-2015 a las 22:03:42. Razón: Formateo y Sintaxis Delphi
Responder Con Cita