Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Usando funciones MCI (https://www.clubdelphi.com/foros/showthread.php?t=1639)

dabas 22-06-2003 00:14:46

Usando funciones MCI
 
Hola a todos.

Agradeceria a alguien que me dijera como se usan las función

MCIERROR mciSendCommand(

MCIDEVICEID IDDevice,
UINT uMsg,
DWORD fdwCommand,
DWORD dwParam
);

o la funcion

MCIERROR mciSendString(

LPCTSTR lpszCommand,
LPTSTR lpszReturnString,
UINT cchReturn,
HANDLE hwndCallback
);


Por lo que sé, sirven para reproducir archivos multimedia usando los dispositivos disponibles en el PC, pertenecen a la unidad "mmsystem". Y me interesaría usarlos.


Gracias por leer esto.

marcoszorrilla 22-06-2003 12:08:34

Esta es la definición de una de las funciones que citas:

Código:

{$EXTERNALSYM mciSendString}
function mciSendString(lpstrCommand, lpstrReturnString: PChar;
  uReturnLength: UINT; hWndCallback: HWND): MCIERROR; stdcall;

la otra:

Código:

function mciSendCommand(mciId: MCIDEVICEID; uMessage: UINT;
  dwParam1, dwParam2: DWORD): MCIERROR; stdcall;

Errores que devuelve:

Código:

{ general error return values }
const
  {$EXTERNALSYM MMSYSERR_NOERROR}
  MMSYSERR_NOERROR      = 0;                  { no error }
  {$EXTERNALSYM MMSYSERR_ERROR}
  MMSYSERR_ERROR        = MMSYSERR_BASE + 1;  { unspecified error }
  {$EXTERNALSYM MMSYSERR_BADDEVICEID}
  MMSYSERR_BADDEVICEID  = MMSYSERR_BASE + 2;  { device ID out of range }
  {$EXTERNALSYM MMSYSERR_NOTENABLED}
  MMSYSERR_NOTENABLED  = MMSYSERR_BASE + 3;  { driver failed enable }
  {$EXTERNALSYM MMSYSERR_ALLOCATED}
  MMSYSERR_ALLOCATED    = MMSYSERR_BASE + 4;  { device already allocated }
  {$EXTERNALSYM MMSYSERR_INVALHANDLE}
  MMSYSERR_INVALHANDLE  = MMSYSERR_BASE + 5;  { device handle is invalid }
  {$EXTERNALSYM MMSYSERR_NODRIVER}
  MMSYSERR_NODRIVER    = MMSYSERR_BASE + 6;  { no device driver present }
  {$EXTERNALSYM MMSYSERR_NOMEM}
  MMSYSERR_NOMEM        = MMSYSERR_BASE + 7;  { memory allocation error }
  {$EXTERNALSYM MMSYSERR_NOTSUPPORTED}
  MMSYSERR_NOTSUPPORTED = MMSYSERR_BASE + 8;  { function isn't supported }
  {$EXTERNALSYM MMSYSERR_BADERRNUM}
  MMSYSERR_BADERRNUM    = MMSYSERR_BASE + 9;  { error value out of range }
  {$EXTERNALSYM MMSYSERR_INVALFLAG}
  MMSYSERR_INVALFLAG    = MMSYSERR_BASE + 10; { invalid flag passed }
  {$EXTERNALSYM MMSYSERR_INVALPARAM}
  MMSYSERR_INVALPARAM  = MMSYSERR_BASE + 11; { invalid parameter passed }
  {$EXTERNALSYM MMSYSERR_HANDLEBUSY}
  MMSYSERR_HANDLEBUSY  = MMSYSERR_BASE + 12; { handle being used
                                                simultaneously on another
                                                thread (eg callback) }
  {$EXTERNALSYM MMSYSERR_INVALIDALIAS}
  MMSYSERR_INVALIDALIAS = MMSYSERR_BASE + 13; { specified alias not found }
  {$EXTERNALSYM MMSYSERR_BADDB}
  MMSYSERR_BADDB        = MMSYSERR_BASE + 14; { bad registry database }
  {$EXTERNALSYM MMSYSERR_KEYNOTFOUND}
  MMSYSERR_KEYNOTFOUND  = MMSYSERR_BASE + 15; { registry key not found }
  {$EXTERNALSYM MMSYSERR_READERROR}
  MMSYSERR_READERROR    = MMSYSERR_BASE + 16; { registry read error }
  {$EXTERNALSYM MMSYSERR_WRITEERROR}
  MMSYSERR_WRITEERROR  = MMSYSERR_BASE + 17; { registry write error }
  {$EXTERNALSYM MMSYSERR_DELETEERROR}
  MMSYSERR_DELETEERROR  = MMSYSERR_BASE + 18; { registry delete error }
  {$EXTERNALSYM MMSYSERR_VALNOTFOUND}
  MMSYSERR_VALNOTFOUND  = MMSYSERR_BASE + 19; { registry value not found }
  {$EXTERNALSYM MMSYSERR_NODRIVERCB}
  MMSYSERR_NODRIVERCB  = MMSYSERR_BASE + 20; { driver does not call DriverCallback }
  {$EXTERNALSYM MMSYSERR_LASTERROR}
  MMSYSERR_LASTERROR    = MMSYSERR_BASE + 20; { last error in range }

Espero te sirva la información.

Un Saludo.

dabas 30-06-2003 01:27:00

Pues no me ha servido de mucho, no domino los mensajes ni las funciones API en general.

Pero he encontrado un buen ejemplo para reproducir mp3, y he descubierto que la calidad es muy mala.

Lo que voy a hacer es usar alguna libreria shareware para experimentar, ademas se pueden usar los plugins de winamp 2.

Hasta otra


La franja horaria es GMT +2. Ahora son las 20:06:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi