//声明:
waveOutGetPosition(
hWaveOut: HWAVEOUT; {设备句柄}
lpInfo: PMMTime; {TMMTime 结构的指针, 用于返回播放位置}
uSize: UINT {TMMTime 结构的大小, 以字节为单位}
): MMRESULT; {成功返回 0; 可能的错误值见下:}
MMSYSERR_INVALHANDLE = 5; {设备句柄无效}
MMSYSERR_HANDLEBUSY = 12; {设备已被另一线程使用}
//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;
//举例:
转载于:https://my.oschina.net/hermer/blog/320302