Description | Hierarchy | Fields | Methods | Properties |
type unaWaveOutDevice = class(unaWaveDevice)
Use this class to playback PCM audio stream. deviceID parameter used to construct instance of this class can be from 0 to unaWaveOutDevice.getDeviceCount() - 1, or you can use WAVE_MAPPER value instead.
After opening the device feed periodically input stream by calling write() method. If device is unable to load next chunk when needed it can produce a chunk of "silence" and feed it automatically to hardware. Use autoFeed property to enable/disable this behavior.
constructor create(deviceID: uint = WAVE_MAPPER; mapped: bool = false; direct: bool = false; overNum: unsigned = 0); |
|
function formatChoose(var format: pWAVEFORMATEX; const title: wString = ''; style: unsigned = ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT; enumFlag: unsigned = ACM_FORMATENUMF_HARDWARE + ACM_FORMATENUMF_OUTPUT; enumFormat: pWAVEFORMATEX = nil): MMRESULT; |
|
class function getCaps(deviceID: uint; var caps: WAVEOUTCAPSW): bool; overload; |
|
class function getDeviceCount(): unsigned; |
|
class function getErrorText(errorCode: MMRESULT): string; |
|
function getOutCaps(): pWAVEOUTCAPSW; |
|
function addHeader(header: unaWaveHeader): MMRESULT; override; |
|
function afterOpen(): MMRESULT; override; |
|
function doClose(timeout: tTimeout = 1): MMRESULT; override; |
|
function doGetErrorText(errorCode: MMRESULT): string; override; |
|
function doGetPosition(): int64; override; |
|
function doOpen(flags: uint): MMRESULT; override; |
|
function doWrite(buf: pointer; size: unsigned): unsigned; override; |
|
function flush2(waitForComplete: bool = true): bool; override; |
|
function formatChooseDef2(var format: pWAVEFORMATEX): MMRESULT; override; |
|
function getMasterIsSrc2(): bool; override; |
|
function onHeaderDone(header: unaWaveHeader; wakeUpByHeaderDone: bool): bool; override; |
|
function prepareHeader(header: pointer): MMRESULT; override; |
|
function unprepareHeader(header: pointer): MMRESULT; override; |
|
procedure AfterConstruction(); override; |
|
procedure BeforeDestruction(); override; |
|
procedure startIn(); override; |
|
procedure startOut(); override; |
property awaitingPrefill: bool read f_awaitingPrefill; |
|
property handle; |
|
property jitterRepeat: bool read f_jitterRepeat write f_jitterRepeat; |
|
property onAfterChunkDone: unaWaveDataEvent read f_onACD write f_onACD; |
|
property onAfterChunkFeed: unaWaveDataEvent read f_onACF write f_onACF; |
|
property outOfData: int64 read f_outOfData; |
|
property pitch: unsigned read getPitch write setPitch; |
|
property playbackRate: unsigned read getPlaybackRate write setPlaybackRate; |
|
property smoothStartup: bool read f_smoothStartup write f_smoothStartup; |
|
property volume: unsigned read getDeviceVolume write setDeviceVolume; |
constructor create(deviceID: uint = WAVE_MAPPER; mapped: bool = false; direct: bool = false; overNum: unsigned = 0); |
|
function formatChoose(var format: pWAVEFORMATEX; const title: wString = ''; style: unsigned = ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT; enumFlag: unsigned = ACM_FORMATENUMF_HARDWARE + ACM_FORMATENUMF_OUTPUT; enumFormat: pWAVEFORMATEX = nil): MMRESULT; |
|
Displays format selection dialog. |
class function getCaps(deviceID: uint; var caps: WAVEOUTCAPSW): bool; overload; |
|
MME only. Returnsdevice caps. |
class function getDeviceCount(): unsigned; |
|
MME only. Returnsdevice caps. |
class function getErrorText(errorCode: MMRESULT): string; |
|
MME only. Returnsdevice caps. |
function getOutCaps(): pWAVEOUTCAPSW; |
|
MME only. Returnsdevice caps. |
function addHeader(header: unaWaveHeader): MMRESULT; override; |
|
function afterOpen(): MMRESULT; override; |
|
function doClose(timeout: tTimeout = 1): MMRESULT; override; |
|
function doGetErrorText(errorCode: MMRESULT): string; override; |
|
function doGetPosition(): int64; override; |
|
function doOpen(flags: uint): MMRESULT; override; |
|
function doWrite(buf: pointer; size: unsigned): unsigned; override; |
|
Passes data to waweout buffers. |
function flush2(waitForComplete: bool = true): bool; override; |
|
Flushes all data pending to be played back. |
function formatChooseDef2(var format: pWAVEFORMATEX): MMRESULT; override; |
|
Displays a format choose dialog. Reallocates (if necessary) the given format. |
function getMasterIsSrc2(): bool; override; |
|
Returns true. |
function onHeaderDone(header: unaWaveHeader; wakeUpByHeaderDone: bool): bool; override; |
|
function prepareHeader(header: pointer): MMRESULT; override; |
|
function unprepareHeader(header: pointer): MMRESULT; override; |
|
procedure AfterConstruction(); override; |
|
Allocates resources. |
procedure BeforeDestruction(); override; |
|
Releases resources. |
procedure startIn(); override; |
|
procedure startOut(); override; |
|
property awaitingPrefill: bool read f_awaitingPrefill; |
|
property handle; |
|
WinAPI MME handle |
property jitterRepeat: bool read f_jitterRepeat write f_jitterRepeat; |
|
If True (default), when out of buffers will repeat last chunk several times until WaveOut has enough buffers for playback (but no more than 5 times). If False, no chunks will be repeated. |
property onAfterChunkDone: unaWaveDataEvent read f_onACD write f_onACD; |
|
Fires every time chunk was just played out by wave-out device. |
property onAfterChunkFeed: unaWaveDataEvent read f_onACF write f_onACF; |
|
Fires every time new chunk was feed to wave-out device. |
property outOfData: int64 read f_outOfData; |
|
Amount of audio data which appear too late to be played back in real time. |
property pitch: unsigned read getPitch write setPitch; |
|
Not supported yet. |
property playbackRate: unsigned read getPlaybackRate write setPlaybackRate; |
|
Not supported yet. |
property smoothStartup: bool read f_smoothStartup write f_smoothStartup; |
|
If True (default), when out of buffers (or during startup) WaveOut be paused till c_waveOut_unpause_after buffers are prepared for playback. If False, playback will start immediately. |
property volume: unsigned read getDeviceVolume write setDeviceVolume; |
|
Not supported yet. Use getVolume() instead. |
(c) 2012 Lake of Soft