IMDSPDeviceControl::Seek 方法 (mswmdm.h)
Seek 方法會搜尋作為 Play 或 Record 方法起點的位置。
語法
HRESULT Seek(
[in] UINT fuMode,
[in] int nOffset
);
參數
[in] fuMode
正在執行的搜尋作業模式。 fuMode 參數必須是下列其中一種模式。
模式 | Description |
---|---|
MDSP_SEEK_BOF | 在檔案開頭之後搜尋 nOffset 單位的位置。 |
MDSP_SEEK_CUR | 從目前位置搜尋 nOffset 單位的位置。 |
MDSP_SEEK_EOF | 在檔案結尾之前搜尋 nOffset 單位的位置。 |
[in] nOffset
搜尋作業從 fuMode 所指定的原點移動開始位置的單位數目。 nOffset 的單位是由內容所定義。 它們可以是音樂的毫秒數、電子書的頁面等等。
nOffset 的正值表示正值會透過檔案向前搜尋。 負值表示透過檔案向後搜尋。 nOffset 和 fuMode 的任何組合,表示在檔案開頭之前或檔案結尾之後搜尋的位置無效,並導致方法傳回E_INVALIDARG。
傳回值
方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。
傳回碼 | 描述 |
---|---|
|
此方法已成功。 |
|
一或多個參數無效。 |
|
此裝置上未實作 Seek。 |
|
發生未指定的錯誤。 |
備註
搜尋位置是藉由傳遞指向裝置儲存媒體上位置的 IWMDMStorage 介面,或已實作以支援串流音訊的 IWMDMOperation 介面來定義。 也可以傳遞IMDSPObjectInfo 介面,以描述指定介面所指向之物件內的一些點。
針對裝置播放,如果未在播放之前呼叫 Seek,則播放會從媒體裝置上第一個儲存媒體上的第一個音訊播放軌開始。
針對裝置錄製,如果未在 Record 之前呼叫 Seek,則記錄作業會失敗。 呼叫 Record 方法之後,後續呼叫 IMDSPObjectInfo::GetLastPlayPosition 方法會隨時報告播放長度總計,並等於 IMDSPObjectInfo::GetTotalLength 傳回的值。 錄製長度可以藉由從 Seek 呼叫傳回之後呼叫 IMDSPObjectInfo::SetPlayLength 方法來限制。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | mswmdm.h |
程式庫 | Mssachlp.lib |