midiStreamOut 函式 (mmeapi.h)

midiStreamOut函式會播放或排入資料流程 (緩衝區,) MIDI 資料到 MIDI 輸出裝置。

語法

MMRESULT midiStreamOut(
  HMIDISTRM hms,
  LPMIDIHDR pmh,
  UINT      cbmh
);

參數

hms

MIDI 資料流程的控制碼。 這個控制碼必須由 midiStreamOpen 函式的呼叫傳回。 此控制碼會識別輸出裝置。

pmh

識別 MIDI 緩衝區之 MIDIHDR結構的指標。

cbmh

MIDIHDR結構的大小,以位元組為單位。

傳回值

如果成功或發生錯誤,則傳回MMSYSERR_NOERROR。 可能的錯誤值包括下列專案。

傳回碼 描述
MMSYSERR_NOMEM
系統無法配置或鎖定記憶體。
MIDIERR_STILLPLAYING
lpMidiHdr指向的輸出緩衝區仍在播放中,或從先前呼叫midiStreamOut排入佇列。
MIDIERR_UNPREPARED
lpMidiHdr指向的標頭尚未備妥。
MMSYSERR_INVALHANDLE
指定的裝置控制碼無效。
MMSYSERR_INVALPARAM
lpMidiHdr指定的指標無效。

備註

在緩衝區傳遞至 midiStreamOpen之前,必須先使用 midiOutPrepareHeader 函 式來備妥緩衝區。

由於 midiStreamOpen 函式會以暫停模式開啟輸出裝置,因此您必須先呼叫 midiStreamRestart 函式,才能使用 midiStreamOut 來開始播放。

對於此函式的目前實作,緩衝區必須小於 64K。

MIDIHDR結構所指向的緩衝區包含一或多個 MIDI 事件,每個事件都是由MIDIEVENT結構所定義。

需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 mmeapi.h (包含 Windows.h)
程式庫 Winmm.lib
Dll Winmm.dll

另請參閱

MIDI 函式