Property: PlayBufferSize
|
Type: |
Long |
|
|
Properties: |
ReadWrite. Available at both design time and run time. |
|
| Function: |
Set or get the size of the play buffer. |
|
| Description: |
VoiceAngel use three buffer alternatively to get wave samples from file and send them to the line. PlayBufferSize is not in bytes but in samples. Waveform are formed by continual samples. A sample is formed by 1 or 2 bytes according to the format of the wave file. For example, a wave file with the format 8000hz, 16bit/sample, mono has 2 bytes samples, while a wave file with format 8000, 8bit/sample, mono has 1 byte samples. The size of the play buffer in bytes is PlayBufferSize * BytesPerSample. Voice Modems use wave files with the format 8000hz,16bit, Voice boards usually use 11025hz, 8bit, mono or 8000hz, 8bit, mono. Thus if you set PlayBuffferSize 1024, with a voice modem, it will have three 2048 bytes buffer, with a voice board, it will have three 1024 bytes buffer.
If you set PlayBufferSize at design time or before Initialize called, it will set the size of the play buffer for all the lines when the Initialize called. If PlayBufferSize is set 0, lines will use default
size, different type of lines may have different default values for PlayBufferSize and RecordBufferSize PlayBufferSize 1024, RecordBufferSize 1024 Voice Board: PlayBufferSize 10000,RecordBufferSize 4096
PlayBufferSize is set 1000 because threshold of Dialogic Cards are 8192Bytes.
If set PlayBufferSize or RecordBufferSize at run time, it is set for the current line set byCurrentLineIndex, CurrentLineName.
Voice Boards usually have a parameter called "Receive Buffer Threshold" which is the buffer they used to receive wave data. It can be configured in the Wave Driver Property dialog provided by the TSP(See the screen shot below for Dialogic wave configuration). If the size of play buffer in bytes (PlayBufferSize*BytesPerSample) is smaller than the threshold, voice played will become uncontinual. And the size of record buffer in bytes (RecordBufferSize*BytesPerSample) should not be much smaller than the threshold, otherwise voice recorded will not be continual.
|
|
| See Also: |
Sample Code In Visual Basic:
'The following code shows how to set buffer size for all the line.
Sub Form_Load ()
va.PlayBufferSize=1024
va.RecordBufferSize=1024
va.Initialize
End sub
'The following code shows how to set buffer size for the current line.
Sub Form_Load()
va.Initialize
End Sub
Sub SetBufferSize(LineIndex as integer)
va.CurrentLineIndex = LineIndex
va.PlayBufferSize=1024
va.RecordBufferSize=1024
End sub
Sub cmdSetBufferSize_Click()
SetBufferSize(CLng(txtLineToSetBufferSize.Text))
End sub