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, vcr 및 videodisc 디바이스 유형으로 인식됩니다.
-
MCI_FORMAT_HMS
-
시간 형식을 시간, 분 및 초로 변경합니다. vcr 및 videodisc 디바이스 유형으로 인식됩니다.
-
MCI_FORMAT_MILLISECONDS
-
시간 형식을 밀리초로 변경합니다. 모든 디바이스 유형에서 인식됩니다.
-
MCI_FORMAT_MSF
-
시간 형식을 분, 초 및 프레임으로 변경합니다. cdaudio 및 vcr 디바이스 유형으로 인식됩니다.
-
MCI_FORMAT_SAMPLES
-
시간 형식을 입력 또는 출력을 위한 샘플로 변경합니다. waveaudio 디바이스 유형으로 인식됩니다.
-
MCI_FORMAT_SMPTE_24, MCI_FORMAT_SMPTE_25 및 MCI_FORMAT_SMPTE_30
-
시간 형식을 각각 24, 25 및 30프레임 SMPTE(영화 및 텔레비전 엔지니어 협회)로 설정합니다. sequencer 및 vcr 디바이스 유형에서 인식됩니다.
-
MCI_FORMAT_SMPTE_30DROP
-
시간 형식을 30 드롭 프레임 SMPTE로 설정합니다. sequencer 및 vcr 디바이스 유형에서 인식됩니다.
-
MCI_FORMAT_TMSF
-
시간 형식을 트랙, 분, 초 및 프레임으로 변경합니다. (MCI는 연속 트랙 번호를 사용합니다.) cdaudio 및 vcr 디바이스 유형으로 인식됩니다.
-
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[데스크톱 앱만] |
헤더 |
|