我的目的是,通过语音(例如简单的单词)自动播放PowerPiont之类的演示文稿,课件等东西。
我想有三种方案:1,PowerPiont作内容,精灵、插件或后台软件实现声控播放;
2,内容与控制全部由VB实现(VB我熟一点);
3,利用第三方声控软件。
请大伙给点意见。
我想有三种方案:1,PowerPiont作内容,精灵、插件或后台软件实现声控播放;
2,内容与控制全部由VB实现(VB我熟一点);
3,利用第三方声控软件。
请大伙给点意见。
解决方案 »
- VB 基础问题
- VB6 : PictureBox 是如何做出股票软件介面的
- 一道虽然简单 但很多人都有错的算法 问题
- 我想在dagagrid里实现数据的编辑,在点击提交的时候才去更新数据怎么实现?(急!)
- 请问,在VB中,如何执行poperpoint文档?谢谢
- 如何用vb中水晶报表控件(crystalreport)将程序动态所查询的结果预览并打印出来。
- 关于DATAREPEAT控件(狂送分)
- 关于recordset的问题!!!
- 求助!关于VB与BMP图像!
- *******我想把GRID当类似EXCLE的表使,不绑定到记录集上,然后手动的向其中添些数据.应怎样做?用哪个GRID控件?应该用哪个GRID?请各位大侠多多指教!!!!!*******
- 【请教】VB6安装制作基础问题,100分诚意求解!!
- 请问大家怎么用VB实现ADSL拨号软件开发。不需要驱动。就是拨号器
还有简单一点的东西吗?我下了一大堆的Agent,但都只会说e文!
我刚试了一下,精灵的听力太差,搞得我的 CPU 100% 忙!
这样的话就不实用了。
Dim AcsFileName As String
Dim VarAnimationName As Variant
Dim VarCharacter As IAgentCtlCharacterEx
Private Declare Function GetCurrentDirectory Lib "kernel32" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As LongPrivate Sub cmdChina_Click()
VarCharacter.Speak "Hello!", App.Path & "\NiHao.wav"
End SubPrivate Sub Form_Load()
fDir.Path = "C:\WINNT\MSAgent"
End SubPrivate Sub Form_Unload(Cancel As Integer)
Call FreeAgent(AgentA)
End SubPrivate Function FileExist(ByVal VarFileName As String) As Boolean
FileExist = IIf(Dir(Trim(VarFileName)) = vbNullString, False, True)
End FunctionPrivate Sub acsFile_Click()
On Error Resume Next
Call FreeAgent(AgentA)
ListBoxA.Clear
AcsFileName = acsFile.Path & "\" & acsFile.FileName
If FileExist(AcsFileName) Then
VarFlag = True
Call StartAgent
For Each VarAnimationName In VarCharacter.AnimationNames
ListBoxA.AddItem VarAnimationName
Next
ListBoxA.ListIndex = 0
Else
Dim Result As Long
Result = MsgBox("在程序当前目录下没有动画角色文件!", vbInformation + vbOKOnly, "程序运行提示")
VarFlag = False
End If
End SubPrivate Sub fDir_Change()
acsFile.Path = fDir.Path
End SubPrivate Sub ListBoxA_Click()
cmdPlay.Enabled = True
cmd_INI.Enabled = True
End SubPrivate Sub ListBoxA_DblClick()
Call cmdPlay_Click
End SubPrivate Sub ListBoxA_GotFocus()
cmdPlay.Default = True
End SubPrivate Sub cmdPlay_Click()
VarCharacter.Stop
Caption = "演示动画角色动作" & ListBoxA.List(ListBoxA.ListIndex)
VarCharacter.Play ListBoxA.List(ListBoxA.ListIndex)
End SubPrivate Sub cmdStop_Click()
VarCharacter.Stop
End Sub
'
Private Sub cmd_INI_Click()
Static initialized As Boolean
' 添加自定义命令
If Not initialized Then
VarCharacter.Commands.Add "Word", "Run Word", "word", True, True
VarCharacter.Commands.Add "Time", "What time is it?", "time", True, True
VarCharacter.Commands.Add "Bigger", "Bigger", "Bigger", True, True
VarCharacter.Commands.Add "Smaller", "Smaller", "Smaller", True, True
VarCharacter.Commands.Add "Calc", "Ok", "Calc", True, True
initialized = True
End If
VarCharacter.Show
VarCharacter.Speak "Can I help you?"
End SubPrivate Sub FreeAgent(Eidolon As Agent)
If VarFlag Then
VarCharacter.Hide
Set VarCharacter = Nothing
Eidolon.Characters.Unload "CharacterID"
End If
End Sub
'Private Sub StartAgent()
AgentA.Characters.Load "CharacterID", AcsFileName '
Set VarCharacter = AgentA.Characters("CharacterID")
VarCharacter.LanguageID = &H409
VarCharacter.MoveTo 20, 20
VarCharacter.Show
VarCharacter.Play "Congratulate"
VarCharacter.Play "Wave"
VarCharacter.Speak "Hello" '.Welcome to use The Character Animation Previewer Programm !"
VarCharacter.Play "Reading"
Call cmd_INI_Click
End Sub
Private Sub AgentA_Command(ByVal UserInput As Object)
Select Case UserInput.Name
Case "Time"
' 当听到"What time is it?"后回答当前时间
VarCharacter.Speak "The time is " & Time
Case "Word"
' 当听到"word"后,便运行MS Word
VarCharacter.Speak "Yes,sir!"
Shell "D:\Ms_Office\2k\Office\winword.exe", vbNormalFocus
Case "Bigger"
' 当听到"bigger"后,Merlin会放大
VarCharacter.Width = VarCharacter.Width * 1.5
VarCharacter.Height = VarCharacter.Height * 1.5
Case "Smaller"
' 当听到"samller"后,Merlin会缩小
VarCharacter.Width = VarCharacter.Width / 1.5
VarCharacter.Height = VarCharacter.Height / 1.5
End Select
End Sub