Description | Hierarchy | Fields | Methods | Properties |
type unavclWaveOutDevice = class(unavclInOutWavePipe)
Real time PCM audio stream playback using the sound card or other hardware device.
Usage: If components has no provider component with formatProvider=true, specify PCM stream parameters before activating: pcm_SamplesPerSec, pcm_BitsPerSample and pcm_NumChannels.
Example: refer to the vcTalkNow demo. It has waveOut_server and waveOut_client components. Both are used to playback real-time PCM stream received from remote side. In this demo, waveOut_server is a consumer of c_codec_serverIn component. That means PCM stream, produced by c_codec_serverIn will be passed to waveOut_server automatically.
function doOpen(): bool; override; |
|
procedure AfterConstruction(); override; |
|
procedure createNewDevice(); override; |
|
procedure doSetEnableDP(value: boolean); override; |
property calcVolume; |
|
property deviceId; |
|
property enableDataProcessing; |
|
property inputIsPcm default false; |
|
property onFeedChunk: unavclPipeDataEvent read f_onFC write f_onFC; |
|
property onFeedDone: unavclPipeDataEvent read f_onFD write f_onFD; |
|
property playbackOptions: unavcPlaybackOptions read f_po write f_po; |
|
property waveEngine; |
|
property waveOutDevice: unaWaveOutDevice read getWaveOutDevice; |
function doOpen(): bool; override; |
|
Assign playback options |
procedure AfterConstruction(); override; |
|
procedure createNewDevice(); override; |
|
Creates wave Out (playback) device. |
procedure doSetEnableDP(value: boolean); override; |
|
Sets enableDataProcessing value. |
property calcVolume; |
|
property deviceId; |
|
property inputIsPcm default false; |
|
Since waveOut device is output device, and output format is PCM, we should specify input format as not PCM. |
property onFeedChunk: unavclPipeDataEvent read f_onFC write f_onFC; |
|
Fired when another audio chunk was passed to driver for playback. If you are self-feeding the playback, it means you have to feed another chunk to achieve continuous playback. WARNING: This event is deprecated, refer to onFeedDone. <STRONG>NOTE</STRONG>: VCL is NOT multi-threading safe, and you should avoid using VCL routines and classes in this event. |
property onFeedDone: unavclPipeDataEvent read f_onFD write f_onFD; |
|
Fired when chunk was just played out by device. This is a good place for any user feedback. Since the data passed to this event was played out about 1/50 second ago, you can achieve very short delay between actual data being played back, and feedback. For example, if you draw an oscilloscope of a wave, use this event to be in synch with actual playback. <STRONG>NOTE</STRONG>: VCL is NOT multi-threading safe, and you should avoid using VCL routines and classes in this event. |
property playbackOptions: unavcPlaybackOptions read f_po write f_po; |
|
Controls how playback is started and what to do when waveout queue is out of audio data. |
property waveEngine; |
|
property waveOutDevice: unaWaveOutDevice read getWaveOutDevice; |
|
Returns waveOut device. |
(c) 2012 Lake of Soft