⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch17.htm

📁 MAPI__SAPI__TAPI
💻 HTM
📖 第 1 页 / 共 5 页
字号:
executing the <tt><font FACE="Courier">Speak</font></tt> method. However, there are 
additional properties and methods that you can use to control the behavior of the TTS 
engine. </p>

<h3><a NAME="AdjustingtheSpeedofVoicePlayback">Adjusting the Speed of Voice Playback</a></h3>

<p>You can adjust the speed of audio playback using the <tt><font FACE="Courier">Speed</font></tt> 
property. The speed of audio playback is measured in <i>words per minute</i> (<i>wpm</i>). 
The default speed of playback is 150wpm. Setting the <tt><font FACE="Courier">Speed</font></tt> 
property to 0 causes the engine to speak at the lowest possible speed. Setting it to -1 
results in the highest possible speaking speed. </p>

<p>You can use the <tt><font FACE="Courier">Speed</font></tt> property to both read and 
write the playback value. Add a single command button to the form. Set its <tt><font
FACE="Courier">Name</font></tt> property to <tt><font FACE="Courier">cmdSpeed</font></tt> 
and its <tt><font FACE="Courier">Caption</font></tt> property to <tt><font FACE="Courier">S&amp;peed</font></tt>. 
Then add the code shown in Listing 17.5 to the <tt><font FACE="Courier">cmdSpeed_click</font></tt> 
event. </p>

<hr>

<blockquote>
  <b><p>Listing 17.5. Adding code to the <tt><font FACE="Courier">cmdSpeed_Click</font></tt> 
  event.<br>
  </b></p>
</blockquote>

<blockquote>
  <tt><font FACE="Courier"><p>Private Sub cmdSpeed_Click()<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' determine min and max speed<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' for this TTS engine<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim iMin As Integer<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim iMax As Integer<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Static iDefault As Integer<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim cMsg As String<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' get default first time<br>
  &nbsp;&nbsp;&nbsp;&nbsp;If iDefault = 0 Then<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iDefault = objVText.Speed ' get default 
  speed<br>
  &nbsp;&nbsp;&nbsp;&nbsp;End If<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' get slowest speed<br>
  &nbsp;&nbsp;&nbsp;&nbsp;objVText.Speed = 0 ' set to slowest speed <br>
  &nbsp;&nbsp;&nbsp;&nbsp;iMin = objVText.Speed ' get slowest speed <br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' set fastest speed<br>
  &nbsp;&nbsp;&nbsp;&nbsp;objVText.Speed = -1 ' set to fastest speed <br>
  &nbsp;&nbsp;&nbsp;&nbsp;iMax = objVText.Speed ' get fastest speed <br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' set back to default value<br>
  &nbsp;&nbsp;&nbsp;&nbsp;objVText.Speed = iDefault<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' show results<br>
  &nbsp;&nbsp;&nbsp;&nbsp;cMsg = &quot;Slowest Speed: &quot; &amp; CStr(iMin) &amp; Chr(13)<br>
  &nbsp;&nbsp;&nbsp;&nbsp;cMsg = cMsg &amp; &quot;Fastest Speed: &quot; &amp; CStr(iMax) 
  &amp; Chr(13)<br>
  &nbsp;&nbsp;&nbsp;&nbsp;cMsg = cMsg &amp; &quot;Default Speed: &quot; &amp; CStr(iDefault)<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;MsgBox cMsg, vbInformation, &quot;Voice Command Speed 
  Settings&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  End Sub</font></tt> </p>
</blockquote>

<hr>

<p>When you save and run the project, press the <tt><font FACE="Courier">Speed</font></tt> 
button (be sure to press <tt><font FACE="Courier">Register</font></tt> and <tt><font
FACE="Courier">Enabled</font></tt> first). You'll see a message box showing the speed 
limits of your TTS engine. Your message box should look like the one in Figure 17.4. </p>

<p><a HREF="f17-4.gif"><b>Figure 17.4 : </b><i>Displaying the TTS engine speeds.</i></a> </p>

<p>To test the effects of changing playback speed, add two buttons, one label control, and 
one text box control to the form. Use Table 17.4 and Figure 17.5 as guides when adding 
these controls. </p>

<p><a HREF="f17-5.gif"><b>Figure 17.5 : </b><i>Adding the speed controls to the form.</i></a> 
<br>
</p>

<p align="center"><b>Table 17.4. Controls for adjusting playback speed.</b> </p>
<div align="center"><center>

<table BORDERCOLOR="#000000" BORDER="1" WIDTH="80%">
  <tr>
    <td><i>Control</i></td>
    <td WIDTH="109"><i>Property</i> </td>
    <td WIDTH="122"><i>Setting</i></td>
  </tr>
  <tr>
    <td WIDTH="176"><tt><font FACE="Courier">VB.CommandButton</font></tt> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Name</font></tt></td>
    <td WIDTH="122">cmdSpGet</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Caption</font></tt> </td>
    <td WIDTH="122">&quot;&amp;Get Speed&quot;</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Height</font></tt> </td>
    <td WIDTH="122">300</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Left</font></tt> </td>
    <td WIDTH="122">4560</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">TabIndex</font></tt> </td>
    <td WIDTH="122">20</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Top</font></tt> </td>
    <td WIDTH="122">3840</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Width</font></tt> </td>
    <td WIDTH="122">1215</td>
  </tr>
  <tr>
    <td WIDTH="176"><tt><font FACE="Courier">VB.CommandButton</font></tt> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Name</font></tt></td>
    <td WIDTH="122">cmdSpSet</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Caption</font></tt> </td>
    <td WIDTH="122">&quot;Se&amp;t Speed&quot;</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Height</font></tt> </td>
    <td WIDTH="122">300</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Left</font></tt> </td>
    <td WIDTH="122">5880</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">TabIndex</font></tt> </td>
    <td WIDTH="122">19</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Top</font></tt> </td>
    <td WIDTH="122">3840</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Width</font></tt> </td>
    <td WIDTH="122">1215</td>
  </tr>
  <tr>
    <td WIDTH="176"><tt><font FACE="Courier">VB.TextBox</font></tt> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Name</font></tt></td>
    <td WIDTH="122">txtSpeed</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Height</font></tt> </td>
    <td WIDTH="122">300</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Left</font></tt> </td>
    <td WIDTH="122">3960</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">TabIndex</font></tt> </td>
    <td WIDTH="122">17</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Top</font></tt> </td>
    <td WIDTH="122">3840</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Width</font></tt> </td>
    <td WIDTH="122">495</td>
  </tr>
  <tr>
    <td WIDTH="176"><tt><font FACE="Courier">VB.Label</font></tt> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Name</font></tt></td>
    <td WIDTH="122">lblSpeed</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Alignment</font></tt> </td>
    <td WIDTH="122">1 'Right Justify</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Caption</font></tt> </td>
    <td WIDTH="122">&quot;Speed:&quot;</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Height</font></tt> </td>
    <td WIDTH="122">300</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Left</font></tt> </td>
    <td WIDTH="122">3120</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">TabIndex</font></tt> </td>
    <td WIDTH="122">18</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Top</font></tt> </td>
    <td WIDTH="122">3840</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="109"><tt><font FACE="Courier">Width</font></tt> </td>
    <td WIDTH="122">615</td>
  </tr>
</table>
</center></div>

<h3><a NAME="AddingPlaybackControlsforTTSService">Adding Playback Controls for TTS 
Services</a></h3>

<p>You can also add the ability to pause, rewind, fast-forward, and restart TTS playback. 
The TTS fast-forward and rewind methods cause the engine to move the playback pointer 
approximately one sentence. Refer to Table 17.5 and Figure 17.5 to add the playback button 
controls to the form.<br>
</p>

<p align="center"><b>Table 17.5. Adding the playback buttons to the form.</b> </p>
<div align="center"><center>

<table BORDERCOLOR="#000000" BORDER="1" WIDTH="80%">
  <tr>
    <td><i>Control</i></td>
    <td WIDTH="99"><i>Property</i> </td>
    <td WIDTH="94"><i>Setting</i></td>
  </tr>
  <tr>
    <td WIDTH="176"><tt><font FACE="Courier">VB.Frame</font></tt> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Name</font></tt></td>
    <td WIDTH="94">fraAudio</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Caption</font></tt> </td>
    <td WIDTH="94">&quot;Playback&quot;</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Height</font></tt> </td>
    <td WIDTH="94">2655</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Left</font></tt> </td>
    <td WIDTH="94">1560</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">TabIndex</font></tt> </td>
    <td WIDTH="94">26</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Top</font></tt> </td>
    <td WIDTH="94">1440</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Width</font></tt> </td>
    <td WIDTH="94">1455</td>
  </tr>
  <tr>
    <td WIDTH="176"><tt><font FACE="Courier">VB.CommandButton</font></tt> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Name</font></tt></td>
    <td WIDTH="94">cmdAudio</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Caption</font></tt> </td>
    <td WIDTH="94">&quot;Stop&quot;</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Height</font></tt> </td>
    <td WIDTH="94">375</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Index</font></tt> </td>
    <td WIDTH="94">4</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Left</font></tt> </td>
    <td WIDTH="94">1680</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">TabIndex</font></tt> </td>
    <td WIDTH="94">27</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Top</font></tt> </td>
    <td WIDTH="94">3600</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Width</font></tt> </td>
    <td WIDTH="94">1215</td>
  </tr>
  <tr>
    <td WIDTH="176"><tt><font FACE="Courier">VB.CommandButton</font></tt> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Name</font></tt></td>
    <td WIDTH="94">cmdAudio</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Caption</font></tt> </td>
    <td WIDTH="94">&quot;Resume&quot;</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Height</font></tt> </td>
    <td WIDTH="94">375</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>
    <td WIDTH="99"><tt><font FACE="Courier">Index</font></tt> </td>
    <td WIDTH="94">3</td>
  </tr>
  <tr>
    <td WIDTH="176"> </td>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -