MCI_SET命令
注意
無偏差通訊 Microsoft 支援多元且包容性的環境。 在本檔中,有 'slave' 這個字的參考。 Microsoft Bias-Free 通訊的樣式指南 會將這視為排除字組。 此文字是用來做為命令內目前使用的文字。 為了一致性,本檔包含此字。 在命令中更改此字時,我們會更正此檔以對齊方式。
MCI_SET命令會設定裝置資訊。 CD 音訊、數位視訊、MIDI Sequencer、VCR、videodisc、video-overlay 和電壓音訊裝置可辨識此命令。
若要傳送此命令,請使用下列參數呼叫 mciSendCommand 函式。
MCIERROR mciSendCommand(
MCIDEVICEID wDeviceID,
MCI_SET,
DWORD dwFlags,
(DWORD) (LPMCI_SET_PARMS) lpSet
);
參數
-
wDeviceID
-
要接收命令訊息之 MCI 裝置的裝置識別碼。
-
dwFlags
-
MCI_NOTIFY、MCI_WAIT或數位視訊和 VCR 裝置MCI_TEST。 如需這些旗標的相關資訊,請參閱 等候、通知和測試旗標。
-
lpSet
-
MCI_SET_PARMS結構的指標。 (具有擴充命令集的裝置可能會將此結構取代為裝置特定的結構。)
傳回值
如果成功或發生錯誤,則傳回零。
備註
下列其他旗標適用于支援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 (Pulse Code) 資料格式內,將時間成員描述變更為輸入或輸出的位元組。 由 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 結構。
下列其他旗標會與 Sequencer 裝置類型搭配使用:
-
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 裝置識別碼所指定的輸出 MIDI 埠。 如果有任何) ,裝置會關閉先前的埠 (,並嘗試開啟並使用新的埠。 如果失敗,它會傳回錯誤,並在有任何) 時重新開啟先前使用的埠 (。 下列常數是針對埠所定義的:
-
MCI_SEQ_NONE
-
如果有任何) ,請關閉先前使用的埠 (。 排序器的行為與埠開啟的行為完全相同,但未傳送 MIDI 訊息。
-
MIDI_MAPPER
-
將開啟的埠設定為 MIDI 對應程式。
-
MCI_SEQ_SET_SLAVE
-
設定排序器以接收同步處理資料,並指出同步處理的類型是在lpSet所識別結構的dwTypee成員中指定。 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 序列的暫存變更為lpSet所指向之結構的dwTempo成員所指定的暫存。 對於具有除法類型 PPQN 的序列,tempo 會以每分鐘的節數指定;針對具有除法類型 SMPTE 的序列,tempo 會在每秒畫面格中指定。
對於 Sequencer 裝置, 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
-
顯示 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
-
強制裝置獨佔使用 timecode。
-
MCI_VCR_SET_TRACKING
-
微調 VCR 磁帶傳輸的速度,而且必須搭配下列其中一個旗標使用:
-
MCI_VCR_PLUS
-
增加磁帶傳送速率。
-
MCI_VCR_MINUS
-
減少磁帶傳送速率。
-
MCI_VCR_RESET
-
將追蹤調整傳回為零。
若為 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 [僅限桌面應用程式] |
標頭 |
|