ISpeechVoiceStatus LastBookmarkId Property (SAPI 5.3)
The LastBookmarkId property retrieves the ID of the last bookmark encountered by the text-to-speech (TTS) engine.
The text value of a bookmark is enclosed in an XML attribute called Mark. The bookmark ID consists of the numeric integer value of the leading characters of the bookmark text. For example, in a bookmark with text "17.53.01 Section 53," the bookmark ID would be "17." A bookmark with text that begins with a non-numeric character will always have a bookmark ID of zero.
|Set:||(This property is read-only)|
|Get:||Long = ISpeechVoiceStatus.LastBookmarkId|
- The owning object.
Set: (This property is read-only)
Get: A Long variable returning the ID of the last bookmark.
The following Visual Basic form code demonstrates the use of the LastBookmark and LastBookmarkId properties. To run this code, create a form without any controls and paste the code into the form's Declarations section.
The code creates a voice that speaks a text stream containing two bookmarks, and then calls the Status method to get an ISpeechVoiceStatus object. The code then shows how these two properties return the bookmark text and display the format of the bookmark.
Option Explicit Private Sub Form_Load() On Error GoTo EH Dim objVOICE As SpeechLib.SpVoice Dim objSTATUS As SpeechLib.ISpeechVoiceStatus Set objVOICE = New SpVoice objVOICE.Speak "<BOOKMARK MARK='1. Monday'/> monday " _ & "<bookmark mark='2. Tuesday'/> tuesday ", SVSFIsXML Set objSTATUS = objVOICE.Status MsgBox "LastBookmark is " & objSTATUS.LastBookmark ' "2. Tuesday" MsgBox "LastBookmarkId is " & objSTATUS.LastBookmarkId ' "2" End EH: If Err.Number Then ShowErrMsg End Sub Private Sub ShowErrMsg() ' Declare identifiers: Dim T As String T = "Desc: " & Err.Description & vbNewLine T = T & "Err #: " & Err.Number MsgBox T, vbExclamation, "Run-Time Error" End End Sub