Jump to content

Media Control Interface

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Shane91c (talk | contribs) at 13:46, 5 January 2009 (Citation Needed because MCI is still used today.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The Media Control Interface, MCI in short, is an aging high-level API developed by Microsoft and IBM for controlling multimedia peripherals connected to a Microsoft Windows or OS/2 computer, such as CD-ROM players and audio controllers.

MCI makes it very simple to write a program which can play a wide variety of media files and even to record sound by just passing commands as strings. It uses relations described in Windows registries or in the [MCI] section of the file SYSTEM.INI. One advantage of this API is that MCI commands can be transmitted both from the programming language and from the scripting language (open script, lingo aso). Example of such commands are mciSendCommand or mciSendString.

For a number of years, the MCI interface has been phased out in favor [citation needed] of the DirectX APIs.

MCI Devices

The Media Control Interface consists of 4 parts:

  • AVIVideo
  • CDAudio
  • Sequencer
  • WaveAudio

Each of these so-called MCI devices can play a certain type of files e.g. AVIVideo plays avi files, CDAudio plays cd tracks among others. Other MCI devices have also been made available over time.

Playing media through the MCI interface

To play a type of media, it needs to be initialized correctly using MCI commands. These commands are subdivided into categories:

  • System Commands
  • Required Commands
  • Basic Commands
  • Extended Commands

A full list of MCI commands can be found at Microsoft's MSDN Library.