Returns the current Voice Message service status of the specified context.
DWORD vceGetContextInfo ( CTAHD ctahd, VCE_CONTEXT_INFO *status, unsigned size)
|
Argument |
Description |
|
ctahd |
Handle returned by ctaCreateContext or ctaAttachContext. |
|
status |
Pointer to a buffer to receive the VCE_CONTEXT_INFO structure: typedef struct Refer to the Details section for a description of these fields. |
|
size |
Size in bytes of the status buffer. |
|
Return value |
Description |
|
SUCCESS |
|
|
CTAERR_BAD_SIZE |
size is less than the size of DWORD. |
|
CTAERR_INVALID_CTAHD |
Context handle is invalid. |
|
CTAERR_SVR_COMM |
Server communication error. |
vceGetContextInfo returns the current Voice Message service status information of the context that ctahd specifies, including information about the current or most recent play or record operation on a context.
A context contains a current message and current position, used by functions including vcePlay, vceRecord, vceErase, vceRead, and vceWrite. The current message can consist of a list of messages that are treated as one contiguous message. The numcurrent field in the VCE_CONTEXT_INFO structure gives the number of messages in the list.
Use vceGetCurrentList to view the current message or list.
Note: During play or record, the current position is updated as each buffer is internally submitted for play or completed for record. When play ends, the values can be adjusted downward if not all of the bytes submitted to the device were actually played.
The VCE_CONTEXT_INFO structure contains the following fields:
|
Field |
Description |
|---|---|
|
size |
Number of bytes written to the buffer to which status pointed. |
|
numcurrent |
Number of messages that compose the current message list. Use vceGetCurrentList to see the messages. |
|
position |
Current position, in milliseconds, in the current message. |
|
reasondone |
Reason for completion of the most recent play or record. |
|
auxerror |
Auxiliary error code (for example, OS error). |
|
function |
VCE_PLAY or VCE_RECORD if a function is currently active, otherwise zero (0). |
|
underruns |
Count of underruns. An underrun occurs when the system is unable to supply buffers to the hardware fast enough to keep up with speech. The underrun count is cumulative from when the context is opened. |
|
currentgain |
Current value of play gain. This value is set to the value of the play gain parameter when play starts. vceSetPlayGain can change the value when play is active. |
|
currentspeed |
Current value of play speed. This value is set to the value of the play speed parameter when play starts. vceSetPlaySpeed can change the value when play is active. |
|
encoding |
Encoding of the current message. |
|
framesize |
Frame size of the current encoding. See vceGetEncodingInfo. |
|
frametime |
Frame duration of the current encoding. See vceGetEncodingInfo. |
/* Get the underrun count */
unsigned myGetUnderruns (CTAHD ctahd)
{
VCE_CONTEXT_INFO contextinfo;
vceGetContextInfo (ctahd, &contextinfo, sizeof contextinfo);
return contextinfo.underruns;
}