WinAPI: waveInGetPosition - 獲取當前輸入裝置的輸入位置

weixin_34377065發表於2008-02-20
//宣告:
waveInGetPosition(
  hWaveIn: HWAVEIN; {裝置控制程式碼}
  lpInfo: PMMTime;  {TMMTime 結構的指標}
  uSize: UINT       {TMMTime 結構大小}
): MMRESULT;        {成功返回 0; 可能的錯誤值見下:}

MMSYSERR_INVALHANDLE = 5;  {裝置控制程式碼無效}

//TMMTime 是 mmtime_tag 結構的重定義:
mmtime_tag = record
  case wType: UINT of
   TIME_MS:     (ms: DWORD);         {毫米}
   TIME_SAMPLES:(sample: DWORD);     {波形音訊取樣數}
   TIME_BYTES:  (cb: DWORD);         {波形音訊位元組數(位元組偏移量)}
   TIME_TICKS:  (ticks: DWORD);      {TICK 數}
   TIME_SMPTE:(                      {動畫及電視協會的 SMPTE 時間, 是個內嵌結構}
      hour: Byte;                {時}
      min: Byte;                 {分}
      sec: Byte;                 {秒}
      frame: Byte;               {幀}
      fps: Byte;                 {每秒幀數}
      dummy: Byte;               {填充位元組(為對齊而用)}                  
      pad: array[0..1] of Byte); {}
    TIME_MIDI : (songptrpos: DWORD); {MIDI 時間}
end;

//使用 TMMTime 結構前, 應先指定 TMMTime.wType :
TIME_MS      = $0001; {預設; 開啟或復位時將回到此狀態}
TIME_SAMPLES = $0002;
TIME_BYTES   = $0004;
TIME_SMPTE   = $0008;
TIME_MIDI    = $0010;
TIME_TICKS   = $0020;


//舉例:

相關文章