Media Control Interface

The Media Control Interface — MCI for short — is a 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.

, the MCI interface has been phased out in favor of the DirectX APIs first released in 1995.

MCI Devices
The Media Control Interface consists of 7 parts:
 * cdaudio
 * digitalvideo
 * overlay
 * sequencer
 * vcr
 * videodisc
 * waveaudio

Each of these so-called MCI devices (e.g. CD-ROM or VCD player) can play a certain type of files, e.g. AVIVideo plays .avi files, CDAudio plays CD-DA 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.