MCI_SETVIDEO命令

MCI_SETVIDEO命令會設定與視訊播放相關聯的值。 數位視訊和 VCR 裝置可辨識此命令。

若要傳送此命令,請使用下列參數呼叫 mciSendCommand 函式。

MCIERROR mciSendCommand(
  MCIDEVICEID wDeviceID, 
  MCI_SETVIDEO, 
  DWORD dwFlags, 
  (DWORD) (LPMCI_GENERIC_PARMS) lpSetVideo
);

參數

wDeviceID

要接收命令訊息之 MCI 裝置的裝置識別碼。

dwFlags

MCI_NOTIFYMCI_WAITMCI_TEST。 如需這些旗標的相關資訊,請參閱 Wait、Notify 和 Test Flags

lpSetVideo

MCI_GENERIC_PARMS結構的指標。 (具有擴充命令集的裝置,可能會以裝置特定的結構取代此結構。)

傳回值

如果成功或發生錯誤,則傳回零。

備註

下列其他旗標會搭配 「digitalvideo」 裝置類型使用:

MCI_DGV_SETVIDEO_ALG

lpSetVideo所識別結構的lpstrAlgorithm成員包含緩衝區的位址,其中包含影片壓縮演算法的名稱。 後續 MCI_RESERVEMCI_RECORD 命令會使用壓縮演算法。 可用的演算法相依于裝置。

如果指定的演算法與目前的檔案格式不相容,則檔案格式會變更為演算法的預設格式。

MCI_DGV_SETVIDEO_CLOCKTIME

搭配 MCI_DGV_SETVIDEO_OVER使用時,會以毫秒為單位指定時間,而且是絕對時間。 (這次並未逐步播放 workspace.)

MCI_DGV_SETVIDEO_INPUT

修改 MCI_DGV_SETVIDEO_BRIGHTNESSMCI_DGV_SETVIDEO_COLORMCI_DGV_SETVIDEO_CONTRASTMCI_DGV_SETVIDEO_GAMMAMCI_DGV_SETVIDEO_SHARPNESSMCI_DGV_SETVIDEO_TINT ,使其會影響輸入訊號,並修改記錄的內容。 可能的話,這是監視輸入時的預設值。

MCI_DGV_SETVIDEO_ITEM

影片常數是在lpSetVideo所識別結構的dwItem成員中指定。 常數會識別正在設定的值。 您可以使用這個旗標來指定下列常數:

MCI_AVI_SETVIDEO_DRAW_PROCEDURE

新的繪圖程式位址是在lpSetVideo所識別結構的dwValue成員中指定。 只有在裝置閒置時,才可以指定新的繪圖程式。 此旗標只能由 MCIAVI 數位視訊驅動程式辨識。 字串命令介面中沒有相當於這個旗標。

MCI_AVI_SETVIDEO_PALETTE_COLOR

新的調色盤色彩是在lpSetVideo所識別結構的dwOverdwValue成員中指定。 dwOver成員會指定要變更之色彩的調色盤索引,而dwValue成員會將新色彩指定為 RGB 值。 當您使用此常數時,也必須指定具有MCI_DGV_SETVIDEO_ITEM MCI_DGV_SETVIDEO_OVER和MCI_DGV_SETVIDEO_VALUE旗標。 此旗標只能由 MCIAVI 數位視訊驅動程式辨識。

MCI_AVI_SETVIDEO_PALETTE_HALFTONE

表示應該使用半色調調色盤,而不是預設調色盤。 此旗標只能由 MCIAVI 數位視訊驅動程式辨識。

MCI_DGV_SETVIDEO_BITSPERPEL

每個圖元的位數是在lpSetVideo所識別結構的dwValue成員中指定。 每個圖元的位數用於儲存擷取或記錄的資料

MCI_DGV_SETVIDEO_BRIGHTNESS

視訊亮度等級會指定為lpSetVideo所識別結構的dwValue成員的因數。

MCI_DGV_SETVIDEO_COLOR

視訊色彩飽和度等級會指定為lpSetVideo所識別結構的dwValue成員的因數。

MCI_DGV_SETVIDEO_CONTRAST

視訊對比層級會指定為lpSetVideo所識別結構的dwValue成員的因數。

MCI_DGV_SETVIDEO_FRAME_RATE

畫面播放速率是在lpSetVideo所識別結構的dwValue成員中指定。 速率會以每秒 1000 次的畫面單位來指定。 例如,每秒 29.97 個畫面格會指定為 29970。

MCI_DGV_SETVIDEO_GAMMA

gamma 修正指數值是在lpSetVideo所識別結構的dwValue成員中指定。 Gamma 校正會調整呈現來源編碼的濃度與顯示亮度之間的對應。 值為指數乘以 1000。 例如,2200 表示指數為 2.2。 值為 1000 表示 1 的指數,其不會套用任何 gamma 校正。

MCI_DGV_SETVIDEO_KEY_COLOR

索引鍵色彩是在lpSetVideo所識別結構的dwValue成員中指定。 索引鍵色彩是 RGB 值。

MCI_DGV_SETVIDEO_KEY_INDEX

索引鍵索引值是在lpSetVideo所識別結構的dwValue成員中指定。 索引參數是實體調色盤索引。

MCI_DGV_SETVIDEO_PALHANDLE

調色盤控制碼是在lpSetVideo所識別結構的dwValue成員中指定。 調色盤控制碼包含在低序字中。 數位視訊裝置不應該釋放使用此命令傳遞的調色盤。 應用程式在關閉裝置之後應該釋出它。 只有使用調色盤的裝置才支援此旗標。 如果這個指定的調色盤控制碼是零,則會使用預設調色盤。

MCI_DGV_SETVIDEO_SHARPNESS

視訊尖角值會指定為lpSetVideo所識別結構的dwValue成員的因數。

MCI_DGV_SETVIDEO_SOURCE

指定視訊輸入來源的常數,是在lpSetVideo所識別結構的dwValue成員中指定。 定義下列常數:

  • MCI_DGV_SETVIDEO_SRC_NTSC:NTSC 電視。
  • MCI_DGV_SETVIDEO_SRC_PAL:PAL 電視。
  • MCI_DGV_SETVIDEO_SRC_RGB:RGB 影片。
  • MCI_DGV_SETVIDEO_SRC_SECAM:SECAM 電視。
  • MCI_DGV_SETVIDEO_SRC_SVIDEO:S-Video。

MCI_DGV_SETVIDEO_STREAM

影片資料流程是在lpSetVideo所識別結構的dwValue成員中指定。 整數值會指定從工作區播放的視訊串流。 如果未指定資料流程,而且檔案格式未定義預設資料流程,則會播放第一個實際交錯的視訊資料流程。

MCI_DGV_SETVIDEO_TINT

影片色調值會指定為lpSetVideo所識別結構的dwValue成員的因數。 一般而言,這項調整會以許多色彩電視集的色調控制項為模型,其中 250 定義為綠色、750 定義為紅色,以及 0 (或 1000) 定義為藍色。 標準值一律為 500。

MCI_DGV_SETVIDEO_OUTPUT

會修改MCI_DGV_SETVIDEO_BRIGHTNESSMCI_DGV_SETVIDEO_COLORMCI_DGV_SETVIDEO_CONTRASTMCI_DGV_SETVIDEO_GAMMAMCI_DGV_SETVIDEO_SHARPNESSMCI_DGV_SETVIDEO_TINT旗標,使其只會影響顯示的訊號,而不是記錄的內容。 可能的話,這是監視檔案時的預設值。

MCI_DGV_SETVIDEO_OVER

轉換長度參數包含在lpSetVideo所識別結構的dwOver成員中。 轉換長度會指定目前時間格式 () 進行變更所需的時間。 如果未使用此旗標,就會立即進行變更。

MCI_DGV_SETVIDEO_QUALITY

lpSetVideo所識別結構的lpstrQuality成員包含描述視訊品質的緩衝區位址。 緩衝區中的文字字串會指定視訊壓縮演算法的特性。

MCI_DGV_SETVIDEO_ALG旗標可用來選取指定演算法的品質描述元。 如果省略此旗標,則會使用目前的演算法。

可用的演算法和描述元名稱取決於裝置。 每個裝置都會提供可用演算法的檔,以及適用描述項名稱的描述。 MCI_QUALITY命令可以定義其他描述元名稱。 所有裝置都支援描述項「低」、「中」和「高」。 預設值為驅動程式專屬。

MCI_DGV_SETVIDEO_RECORD

指定錄製是否包含或排除視訊資料。 與 MCI_SET_ON結合時,會錄製視訊資料。 結合 MCI_SET_OFF時,會排除視訊資料。 預設值包含視訊資料。

MCI_DGV_SETVIDEO_SRC_NUMBER

影片來源的數位是在lpSetVideo所識別結構的dwSourceNumber成員中指定。 如果 MCI_DGV_SETVIDEO_VALUE指定的類型有多個輸入,則值會選取輸入。 此旗標必須一律與 MCI_DGV_SETVIDEO_SOURCE搭配使用。 不過,如果省略 MCI_DGV_SETVIDEO_VALUE ,則指定的來源編號會指出 MCI_LIST命令中所 指定的絕對來源。

MCI_DGV_SETVIDEO_STILL

指定的演算法名稱或品質值適用于仍然影像。

每個裝置驅動程式都必須支援「無」的演算法,這表示沒有壓縮。 此為預設值。 在此情況下,數位視訊裝置會將影像儲存為 RGB 裝置獨立點陣圖, (DIB) 。

MCI_DGV_SETVIDEO_VALUE

值包含在lpSetVideo所識別結構的dwValue成員中。 值的意義是由 MCI_DGV_SETVIDEO_ITEM 旗標所指定。

MCI_SET_OFF

停用視訊輸出。 對於數位視訊裝置,停用視訊會將 MCI_PUT 命令所定義的目的地矩形像素設定為純色 (或其預設值,目前視窗的用戶端區域) 為純色,但不會影響畫面緩衝區。 如有需要 ,您可以使用 MCI_WINDOW 命令隱藏視窗。 視訊的來源,無論是工作區或外部輸入,都可能會繼續將新影像儲存在畫面緩衝區中,但直到啟用視訊為止才會顯示這些影像。 雖然應用程式應該使用 MCI_SETVIDEO 命令來控制此函式,但數位視訊裝置仍必須支援此旗標。 開啟之後的預設值為開啟。

MCI_SET_ON

啟用視訊輸出。

若為數字視訊裝置, lpSetVideo 參數會指向 MCI_DGV_SETVIDEO_PARMS 結構。

下列其他旗標會搭配 「vcr」 裝置類型使用:

MCI_VCR_SETVIDEO_RECORD

將影片錄製設定為開啟或關閉。 與下列其中一個旗標搭配使用:

  • MCI_SET_ON。 視訊錄製開啟。
  • MCI_SET_OFF。 視訊錄製關閉。 可能需要先使用 MCI_SET 命令關閉元件錄製 (,並將 MCI_VCR_SET_ASSEMBLE_RECORD 旗標設定為關閉) ,才能關閉視訊錄製。

MCI_TRACK

lpSetVideo所識別結構的dwTrack成員會指定哪些追蹤受到命令影響。

MCI_VCR_SETVIDEO_SOURCE

設定視訊來源,且必須與 MCI_VCR_SETVIDEO_TO 旗標搭配使用。

MCI_VCR_SETVIDEO_MONITOR

設定視訊來源監視器,且必須與 MCI_VCR_SETVIDEO_TO 旗標搭配使用。

MCI_VCR_SETVIDEO_TO

lpSetVideo所識別結構的dwTo成員包含下列其中一個常數:

**MCI\_VCR\_SRC\_TYPE\_TUNER**
**MCI\_VCR\_SRC\_TYPE\_LINE**
**MCI\_VCR\_SRC\_TYPE\_AUX**
**MCI\_VCR\_SRC\_TYPE\_GENERIC**
**MCI\_VCR\_SRC\_TYPE\_MUTE**
**MCI\_VCR\_SRC\_TYPE\_OUTPUT**
**MCI\_VCR\_SRC\_TYPE\_RGB**
**MCI\_VCR\_SETVIDEO\_NUMBER**

lpSetVideo所識別結構的dwNumber成員包含要使用之 dwTo成員中指定的類型) (視訊輸入。

若為 VCR 裝置, lpSetVideo 參數會指向 MCI_VCR_SETVIDEO_PARMS 結構。

規格需求

需求
最低支援的用戶端
Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Mmsystem.h (包含 Windows.h)

另請參閱

Mci

MCI 命令