MCI_SET 명령

참고

바이어스 없는 커뮤니케이션 Microsoft는 다양하고 포용적인 환경을 지원합니다. 이 문서에는 '슬레이브'라는 단어에 대한 참조가 있습니다. microsoft의 Bias-Free 커뮤니케이션 스타일 가이드는 이를 제외 단어로 인식합니다. 이 단어는 현재 명령 내에서 사용되는 단어이므로 사용됩니다. 일관성을 위해 이 문서에는 이 단어가 포함되어 있습니다. 명령에서 이 단어가 변경되면 이 문서가 정렬되도록 수정합니다.

MCI_SET 명령은 디바이스 정보를 설정합니다. CD 오디오, 디지털 비디오, MIDI 시퀀서, VCR, videodisc, 비디오 오버레이 및 파형 오디오 디바이스는 이 명령을 인식합니다.

이 명령을 보내려면 다음 매개 변수를 사용하여 mciSendCommand 함수를 호출합니다.

MCIERROR mciSendCommand(
  MCIDEVICEID wDeviceID, 
  MCI_SET, 
  DWORD dwFlags, 
  (DWORD) (LPMCI_SET_PARMS) lpSet
);

매개 변수

wDeviceID

명령 메시지를 받을 MCI 디바이스의 디바이스 식별자입니다.

dwFlags

디지털 비디오 및 VCR 디바이스의 경우 MCI_NOTIFY, MCI_WAIT 또는 MCI_TEST. 이러한 플래그에 대한 자세한 내용은 대기, 알림 및 테스트 플래그를 참조하세요.

lpSet

MCI_SET_PARMS 구조체에 대한 포인터입니다. (확장 명령 집합이 있는 디바이스는 이 구조를 디바이스별 구조로 대체할 수 있습니다.)

반환 값

성공하면 0을 반환하고, 그렇지 않으면 오류를 반환합니다.

설명

다음 추가 플래그는 MCI_SET 지원하는 모든 디바이스에 적용됩니다.

MCI_SET_AUDIO

오디오 채널 번호는 lpSet로 식별된 구조체의 dwAudio 멤버에 포함됩니다. 이 플래그는 MCI_SET_ON 또는 MCI_SET_OFF 사용해야 합니다. 다음 상수 중 하나를 사용하여 채널 번호를 나타냅니다.

MCI_SET_AUDIO_ALL

모든 오디오 채널.

MCI_SET_AUDIO_LEFT

왼쪽 채널.

MCI_SET_AUDIO_RIGHT

오른쪽 채널.

MCI_SET_DOOR_CLOSED

미디어 커버를 닫습니다(있는 경우).

MCI_SET_DOOR_OPEN

미디어 커버(있는 경우)를 엽니다.

MCI_SET_OFF

지정된 비디오 또는 오디오 채널을 사용하지 않도록 설정합니다.

MCI_SET_ON

지정된 비디오 또는 오디오 채널을 사용하도록 설정합니다.

MCI_SET_TIME_FORMAT

시간 형식 매개 변수는 lpSet로 식별된 구조체의 dwTimeFormat 멤버에 포함됩니다. 다음 플래그는 이 플래그와 함께 사용됩니다.

MCI_FORMAT_BYTES

PCM(펄스 코드 변조) 데이터 형식 내에서 입력 또는 출력에 대한 시간 멤버 설명을 바이트로 변경합니다. waveaudio 디바이스 유형으로 인식됩니다.

MCI_FORMAT_FRAMES

후속 명령은 프레임을 사용합니다. digitalvideo, vcrvideodisc 디바이스 유형으로 인식됩니다.

MCI_FORMAT_HMS

시간 형식을 시간, 분 및 초로 변경합니다. vcrvideodisc 디바이스 유형으로 인식됩니다.

MCI_FORMAT_MILLISECONDS

시간 형식을 밀리초로 변경합니다. 모든 디바이스 유형에서 인식됩니다.

MCI_FORMAT_MSF

시간 형식을 분, 초 및 프레임으로 변경합니다. cdaudiovcr 디바이스 유형으로 인식됩니다.

MCI_FORMAT_SAMPLES

시간 형식을 입력 또는 출력을 위한 샘플로 변경합니다. waveaudio 디바이스 유형으로 인식됩니다.

MCI_FORMAT_SMPTE_24, MCI_FORMAT_SMPTE_25 및 MCI_FORMAT_SMPTE_30

시간 형식을 각각 24, 25 및 30프레임 SMPTE(영화 및 텔레비전 엔지니어 협회)로 설정합니다. sequencervcr 디바이스 유형에서 인식됩니다.

MCI_FORMAT_SMPTE_30DROP

시간 형식을 30 드롭 프레임 SMPTE로 설정합니다. sequencervcr 디바이스 유형에서 인식됩니다.

MCI_FORMAT_TMSF

시간 형식을 트랙, 분, 초 및 프레임으로 변경합니다. (MCI는 연속 트랙 번호를 사용합니다.) cdaudiovcr 디바이스 유형으로 인식됩니다.

MCI_SET_VIDEO

비디오 신호를 켜거나 끕니다. 이 플래그는 MCI_SET_ON 또는 MCI_SET_OFF 사용해야 합니다. 비디오가 없는 디바이스는 MCIERR_UNSUPPORTED_FUNCTION 반환합니다.

digitalvideo 디바이스 유형에 다음과 같은 추가 플래그가 사용됩니다.

MCI_DGV_SET_FILEFORMAT

파일 형식 매개 변수는 lpSet로 식별된 구조체의 dwFileFormat 멤버에 포함됩니다. 디지털 비디오 디바이스의 경우 파일 형식은 저장 또는 캡처 명령에 사용됩니다. 생략하면 기본적으로 디바이스 드라이버 정의 형식으로 설정될 수 있습니다. 지정된 파일 형식이 현재 선택한 알고리즘 및 품질과 충돌하는 경우 파일 형식의 기본값으로 변경됩니다. 다음 파일 형식 상수가 정의됩니다.

MCI_DGV_FF_AVI

AVI 형식입니다.

MCI_DGV_FF_AVSS

AVSS 형식입니다.

MCI_DGV_FF_DIB

DIB 형식입니다.

MCI_DGV_FF_JFIF

JFIF 형식입니다.

MCI_DGV_FF_JPEG

JPEG 형식입니다.

MCI_DGV_FF_MPEG

MPEG 형식입니다.

MCI_DGV_FF_RDIB

RLE DIB 형식입니다.

MCI_DGV_FF_RJPEG

RJPEG 형식입니다.

MCI_DGV_SET_SEEK_EXACTLY

위치 지정에 사용되는 형식을 설정합니다. 이 플래그는 MCI_SET_ON 또는 MCI_SET_OFF 사용해야 합니다. MCI_SET_ON 지정한 경우 재생 또는 녹화는 MCI_FROM 플래그로 지정된 프레임에 정확하게 액세스합니다. 요청된 프레임이 키 프레임이 아닌 경우 약간의 지연이 추가될 수 있습니다. MCI_SET_OFF 지정한 경우 디바이스는 요청된 프레임 앞에 있는 키 프레임 이미지를 찾습니다. 일부 파일 및 디바이스의 경우 파일의 첫 번째 프레임일 수 있습니다. 이 플래그의 기본값은 디바이스에 따라 다릅니다.

MCI_DGV_SET_SPEED

속도 매개 변수는 lpSet로 식별된 구조체의 dwSpeed 멤버에 포함됩니다. 속도는 명목 프레임 속도와 명목 프레임 속도가 1000으로 지정된 원하는 프레임 속도 사이의 비율로 지정됩니다. 절반 속도는 500이고 이중 속도는 2000입니다. 허용 가능한 속도 범위는 디바이스와 파일에 따라 달라집니다.

MCI_DGV_SET_STILL

MCI_DGV_SET_FILEFORMAT 사용하는 경우 MCI_SET 캡처 명령에 사용되는 파일 형식을 설정합니다.

디지털 비디오 디바이스의 경우 lpSet 매개 변수는 MCI_DGV_SET_PARMS 구조를 가리킵니다.

다음 추가 플래그는 시퀀서 디바이스 유형과 함께 사용됩니다.

MCI_SEQ_FORMAT_SONGPTR

시간 형식을 노래 포인터 단위로 설정합니다.

MCI_SEQ_SET_MASTER

시퀀서 를 동기화 데이터의 원본으로 설정하고 동기화 유형이 lpSet으로 식별된 구조체의 dwMaster 멤버에 지정되었음을 나타냅니다. MCISEQ는 MCIERR_UNSUPPORTED_FUNCTION 반환합니다. 동기화 유형에 대해 정의된 상수는 다음과 같습니다.

MCI_SEQ_MIDI

시퀀서가 MIDI 형식 동기화 데이터를 보냅니다.

MCI_SEQ_SMPTE

시퀀서가 SMPTE 형식 동기화 데이터를 보냅니다.

MCI_SEQ_NONE

시퀀서가 동기화 데이터를 보내지 않습니다.

MCI_SEQ_SET_OFFSET

시퀀스의 SMPTE 오프셋을 lpSet으로 식별된 구조체의 dwOffset 멤버가 지정한 로 변경합니다. 이는 SMPTE 나누기 형식의 시퀀스에만 영향을 줍니다.

MCI_SEQ_SET_PORT

시퀀스의 출력 MIDI 포트를 lpSet으로 식별된 구조체의 dwPort 멤버에서 MIDI 디바이스 식별자가 지정한 로 설정합니다. 디바이스는 이전 포트(있는 경우)를 닫고 새 포트를 열고 사용하려고 시도합니다. 오류가 발생하면 오류를 반환하고 이전에 사용한 포트(있는 경우)를 다시 엽니다. 포트에 대해 정의된 상수는 다음과 같습니다.

MCI_SEQ_NONE

이전에 사용한 포트(있는 경우)를 닫습니다. 시퀀서는 MIDI 메시지가 전송되지 않는 한 포트가 열려 있는 경우와 동일하게 동작합니다.

MIDI_MAPPER

MIDI 매퍼에 열린 포트를 설정합니다.

MCI_SEQ_SET_SLAVE

동기화 데이터를 받을 시퀀서를 설정하고 동기화 유형이 lpSet으로 식별된 구조체의 dwSlave 멤버에 지정되었음을 나타냅니다. MCISEQ는 MCIERR_UNSUPPORTED_FUNCTION 반환합니다. 동기화 유형에 대해 정의된 상수는 다음과 같습니다.

MCI_SEQ_FILE

MIDI 파일에 포함된 동기화 데이터를 받을 시퀀서를 설정합니다.

MCI_SEQ_MIDI

MIDI 동기화 데이터를 받을 시퀀서를 설정합니다.

MCI_SEQ_NONE

MIDI 스트림에서 동기화 데이터를 무시하도록 시퀀서 를 설정합니다.

MCI_SEQ_SMPTE

SMPTE 동기화 데이터를 받을 시퀀서를 설정합니다.

MCI_SEQ_SET_TEMPO

MIDI 시퀀스의 tempo를 lpSet에서 가리키는 구조체의 dwTempo 멤버에 의해 지정된 로 변경합니다. 나누기 유형이 PPQN인 시퀀스의 경우 tempo는 분당 비트로 지정됩니다. 분할 형식 SMPTE를 사용하는 시퀀스의 경우 tempo는 초당 프레임으로 지정됩니다.

시퀀서 디바이스의 경우 lpSet 매개 변수는 MCI_SEQ_SET_PARMS 구조를 가리킵니다.

다음 추가 플래그는 vcr 디바이스 유형과 함께 사용됩니다.

MCI_VCR_SET_ASSEMBLE_RECORD

어셈블리 또는 삽입 모드에서 기록할 디바이스를 설정합니다(어셈블리가 꺼져 있으면 삽입이 켜지고 그 반대의 경우도 마찬가지임). 다음 플래그 중 하나와 함께 사용합니다.

MCI_SET_ON

어셈블 레코드를 설정하고 삽입 레코드를 끕니다. 모든 비디오, 오디오 및 시간 코드 트랙을 기록합니다.

MCI_SET_OFF

어셈블 레코드를 해제하고 삽입 레코드를 켭니다. 어셈블 레코드가 꺼져 있으면 녹화를 위해 비디오, 오디오 및 시간 코드의 개별 트랙을 선택할 수 있습니다.

MCI_VCR_SET_CLOCK

lpSet으로 식별된 구조체의 dwClock 멤버에는 새 클록 시간이 포함됩니다.

MCI_VCR_SET_COUNTER_FORMA

lpSet로 식별되는 구조체의 dwCounterFormat 멤버에는 상태 카운터에서 사용할 새 카운터 타임 형식을 지정하는 상수가 포함되어 있습니다. 유효한 상수 목록은 이 명령에 대한 추가 플래그 목록의 MCI_SET_TIME_FORMAT 참조하세요.

MCI_VCR_SET_COUNTER_VALUE

lpSet로 식별된 구조체의 dwCounterValue 멤버에는 새 카운터 값이 포함됩니다.

MCI_VCR_SET_INDEX

lpSet로 식별된 구조체의 dwIndex 멤버는 화면 디스플레이의 내용을 나타내는 상수를 포함하며 다음 중 하나여야 합니다.

MCI_VCR_INDEX_COUNTER

카운터를 표시합니다.

MCI_VCR_INDEX_DATE

날짜를 표시합니다.

MCI_VCR_INDEX_TIME

시간을 표시합니다.

MCI_VCR_INDEX_TIMECODE

시간 코드를 표시합니다.

자세한 내용은 MCI_INDEX 명령을 참조하세요.

MCI_VCR_SET_PAUSE_TIMEOUT

lpSet로 식별된 구조체의 dwPauseTimeout 멤버에는 일시 중지 명령의 최대 기간(밀리초)이 포함됩니다.

MCI_VCR_SET_POSTROLL_DURATION

lpSet로 식별된 구조체의 dwPostrollDuration 멤버에는 중지 또는 일시 중지 명령이 실행될 때 VCR 전송을 브레이크하는 데 필요한 비디오 테이프 길이(현재 시간 형식)가 포함됩니다.

MCI_VCR_SET_POWER

전원을 켜거나 끕니다. 다음 플래그 중 하나와 함께 사용해야 합니다.

MCI_SET_OFF

전원을 끕니다.

MCI_SET_ON

전원을 켭니다.

MCI_VCR_SET_PREROLL_DURATION

lpSet로 식별되는 구조체의 dwPrerollDuration 멤버는 VCR 출력을 안정화하는 데 필요한 비디오 테이프 길이를 현재 시간 형식으로 포함합니다.

MCI_VCR_SET_RECORD_FORMAT

lpSet로 식별되는 구조체의 dwRecordFormat 멤버에는 레코드 속도를 설명하는 상수가 포함되어 있으며 다음 중 하나여야 합니다.

MCI_VCR_FORMAT_EP

느린 속도로 기록합니다.

MCI_VCR_FORMAT_LP

중간 느린 속도로 기록합니다.

MCI_VCR_FORMAT_SP

표준 속도로 기록합니다.

MCI_VCR_SET_SPEED

lpSet로 식별되는 구조체의 dwSpeed 멤버에는 1000은 정상 속도, 2000은 이중 속도, 500은 절반 속도 등 새로운 속도 설정이 포함되어 있습니다.

MCI_VCR_SET_TAPE_LENGTH

lpSet로 식별되는 구조체의 dwTapeLength 멤버는 테이프의 길이를 감지할 수 없는 경우 테이프의 새 길이를 포함합니다.

MCI_VCR_SET_TIME_MODE

lpSet로 식별된 구조체의 dwTimeMode 멤버에는 새 위치 시간 모드를 나타내는 상수가 포함되어 있습니다. 다음 상수는 유효합니다.

MCI_VCR_TIME_COUNTER

디바이스에서 카운터를 단독으로 사용하도록 강제 적용합니다.

MCI_VCR_TIME_DETECT

새 비디오 테이프가 디바이스에 삽입되거나 모드가 준비되지 않음에서 준비됨으로 변경될 때마다 디바이스는 비디오 테이프에서 사용할 수 있는 시간 코드가 있는지 확인해야 합니다. timecode를 사용할 수 있는 경우 위치를 지정하는 모든 후속 명령에서 timecode를 사용합니다. 그렇지 않으면 카운터를 사용합니다.

MCI_VCR_TIME_TIMECODE

디바이스에서 시간 코드를 단독으로 사용하도록 강제 적용합니다.

MCI_VCR_SET_TRACKING

VCR 테이프 전송 속도를 미세 조정하여 조정하며 다음 플래그 중 하나와 함께 사용해야 합니다.

MCI_VCR_PLUS

테이프 전송 속도를 높입니다.

MCI_VCR_MINUS

테이프 전송 속도를 줄입니다.

MCI_VCR_RESET

추적 조정을 0으로 반환합니다.

VCR 디바이스의 경우 lpSet 매개 변수는 MCI_VCR_SET_PARMS 구조를 가리킵니다.

videodisc 디바이스 유형에 다음과 같은 추가 플래그가 사용됩니다.

MCI_VD_FORMAT_TRACK

시간 형식을 트랙으로 변경합니다. MCI는 연속 트랙 번호를 사용합니다.

다음과 같은 추가 플래그가 waveaudio 디바이스 유형과 함께 사용됩니다.

MCI_WAVE_INPUT

lpSet로 식별된 구조체의 wInput 멤버에 기록하는 데 사용되는 입력을 설정합니다.

MCI_WAVE_OUTPUT

재생에 사용되는 출력을 lpSet로 식별된 구조체의 wOutput 멤버로 설정합니다.

MCI_WAVE_SET_ANYINPUT

현재 형식과 호환되는 모든 웨이브 입력을 녹음/녹화에 사용할 수 있습니다.

MCI_WAVE_SET_ANYOUTPUT

현재 형식과 호환되는 모든 웨이브 출력을 재생에 사용할 수 있습니다.

MCI_WAVE_SET_AVGBYTESPERSEC

lpSet로 식별된 구조체의 nAvgBytesPerSec 멤버에 재생, 기록 및 저장에 사용되는 초당 바이트를 설정합니다.

MCI_WAVE_SET_BITSPERSAMPLE

lpSet로 식별된 PCM 데이터 형식의 nBitsPerSample 멤버에 재생, 기록 및 저장에 사용되는 샘플당 비트를 설정합니다.

MCI_WAVE_SET_BLOCKALIGN

재생, 기록 및 저장에 사용되는 블록 맞춤을 lpSet으로 식별된 구조체의 nBlockAlign 멤버로 설정합니다.

MCI_WAVE_SET_CHANNELS

채널 수는 lpSet로 식별된 구조체의 nChannels 멤버에 표시됩니다.

MCI_WAVE_SET_FORMATTAG

재생, 녹화 및 저장에 사용되는 형식 형식을 lpSet으로 식별된 구조체의 wFormatTag 멤버로 설정합니다. WAVE_FORMAT_PCM 지정하면 형식이 PCM으로 변경됩니다.

MCI_WAVE_SET_SAMPLESPERSEC

lpSet로 식별된 구조체의 nSamplesPerSec 멤버를 재생, 녹화 및 저장하는 데 사용되는 초당 샘플을 설정합니다.

파형 오디오 디바이스의 경우 lpSet 매개 변수는 MCI_WAVE_SET_PARMS 구조를 가리킵니다.

데이터를 저장할 파일이 만들어지면 파형 오디오 데이터의 여러 속성이 정의됩니다. 이러한 속성은 파일 내에서 데이터를 구성하는 방법을 설명하며 기록이 시작되면 변경할 수 없습니다. 다음 플래그 목록은 이러한 속성을 식별합니다.

  • MCI_WAVE_SET_AVGBYTESPERSEC
  • MCI_WAVE_SET_BITSPERSAMPLE
  • MCI_WAVE_SET_BLOCKALIGN
  • MCI_WAVE_SET_CHANNELS
  • MCI_WAVE_SET_FORMATTAG
  • MCI_WAVE_SET_SAMPLESPERSEC

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
헤더
Mmsystem.h(Windows.h 포함)

추가 정보

Mci

MCI 명령