디바이스 제어(Windows 멀티미디어)
[이 페이지와 연결된 기능 MCI는 레거시 기능입니다. MediaPlayer로 대체되었습니다. MediaPlayer는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 MCI 대신 MediaPlayer를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
MCI 디바이스를 제어하려면 디바이스를 열고 필요한 명령을 보낸 다음 디바이스를 닫습니다. 명령은 완전히 다른 MCI 디바이스에서도 매우 유사할 수 있습니다. 예를 들어 다음 일련의 MCI 명령은 mciSendString 함수를 사용하여 오디오 CD의 여섯 번째 트랙을 재생합니다.
mciSendString("open cdaudio", lpszReturnString,
lstrlen(lpszReturnString), NULL);
mciSendString("set cdaudio time format tmsf", lpszReturnString,
lstrlen(lpszReturnString), NULL);
mciSendString("play cdaudio from 6 to 7", lpszReturnString,
lstrlen(lpszReturnString), NULL);
mciSendString("close cdaudio", lpszReturnString,
lstrlen(lpszReturnString), NULL);
다음 예제에서는 파형 오디오 파일의 처음 10,000개 샘플을 재생하는 유사한 일련의 MCI 명령을 보여 줍니다.
mciSendString(
"open c:\mmdata\purplefi.wav type waveaudio alias finch",
lpszReturnString, lstrlen(lpszReturnString), NULL);
mciSendString("set finch time format samples", lpszReturnString,
lstrlen(lpszReturnString), NULL);
mciSendString("play finch from 1 to 10000", lpszReturnString,
lstrlen(lpszReturnString), NULL);
mciSendString("close finch", lpszReturnString,
lstrlen(lpszReturnString), NULL);
다음 예제에서는 MCI 명령에 대한 몇 가지 흥미로운 사실을 보여 줍니다.
- CD 오디오 및 파형 오디오 디바이스와 동일한 기본 명령(열기, 설정, 재생 및 닫기)이 사용됩니다. 동일한 MCI 명령은 모든 MCI 디바이스에서 사용됩니다.
- 파형 오디오 디바이스에 대한 open 명령에는 파일 이름 사양이 포함됩니다. 파형 오디오 디바이스는 복합 디바이스 (데이터 파일과 연결된 디바이스)이지만 CD 오디오 디바이스는 간단한 디바이스 (연결된 데이터 파일이 없는 디바이스)입니다.
- set 명령은 각 경우에 시간 형식을 지정하지만 CD 오디오 디바이스의 시간 형식 플래그는 TMSF(트랙/분/초/프레임) 형식을 지정하고 파형 오디오 디바이스와 함께 사용되는 시간 형식은 "샘플"을 지정합니다.
- "from" 및 "to" 플래그와 함께 사용되는 변수는 해당 시간 형식에 적합합니다. 예를 들어 CD 오디오 디바이스의 경우 변수는 트랙 범위를 지정하지만 파형 오디오 디바이스의 경우 변수는 샘플 범위를 지정합니다.