Foxtable(狐表)用户栏目专家坐堂 → 值不在预期范围内, 有的电脑运行正常,有的电脑运行不正常,不知何故!


  共有2086人关注过本帖树形打印复制链接

主题:值不在预期范围内, 有的电脑运行正常,有的电脑运行不正常,不知何故!

帅哥哟,离线,有人找我吗?
ycwk
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
值不在预期范围内, 有的电脑运行正常,有的电脑运行不正常,不知何故!  发帖心情 Post By:2016/9/30 22:19:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看


NoticePlayOnline 函数内容如下:

Dim str_Notice As  String= args(0)       '定义传入参数1个
                
                  
                 If  BriSDKLib.QNV_PlayFile(Vars("intChannelID"),BriSDKLib.QNV_PLAY_FILE_ISPLAY,m_tagpstnData(Vars("intChannelID" )).lPlayFileHandle ,0,0)  Then                ' 如果播放句柄句柄一直有效,说明上一次的没播放完                              
                           StopPlayFile()                '则中断上一次的播放
                 End If 
                 

                   Dim Stream As new DotNetSpeech.SpFileStreamClass()
                   Stream.Open("Voice\NoticeContent.wav",DotNetSpeech.SpeechStreamFileMode.SSFMCreateForWrite , False) 
                  
                         
                     For Each v As object In sp.getVoices          '用for each循环找到名称包含 Lily的语音库 
                        If v.GetDescription Like "*LiLy*" Then                      
                          sp.Voice  = v
                          'MessageBox.show(v.GetDescription)    经检查是获取到了的
                           Exit For
                        End If
                     Next
                     
                      sp.AudioOutputStream = Stream      '使语音库的输出结果输出到 stream对应的上述*.wav语音文件       sp已在全局代码中定义过了,故这里不需要定义
                    
                      System.threading.Thread.Sleep(1000)         
                      sp.Speak(args(0),DotNetSpeech.SpeechVoiceSpeakFlags.SVSFDefault)   '同步播放        '用args(0) 传递要播放的内容,此行录制要播放的内容到 .wav文件中
                      Stream.Close()
                                                                                          '**********************************************************************************************
                                                                  
                     m_tagpstnData(Vars("intChannelID" )).lPlayFileHandle = BriSDKLib.QNV_PlayFile(Vars( "intChannelID" ),BriSDKLib.QNV_PLAY_FILE_START,0,0,"Voice\NoticeContent.wav" )    '播放通知内容语音        如果没有语音,则会直接挂机,请注意! 
                    
                     '以下为循环检测播放句柄是否一直有效,播放完毕后就挂机
                     Do While    BriSDKLib.QNV_PlayFile(Vars("intChannelID"),BriSDKLib.QNV_PLAY_FILE_ISPLAY,m_tagpstnData(Vars("intChannelID" )).lPlayFileHandle ,0,0)                  ' 播放句柄句柄一直有效
                              
                                  Application.DoEvents
                     Loop

    
                     If FileSys.FileExists( ProjectPath & "Voice\NoticeContent.wav") Then '如果指定的文件存在
                          FileSys.DeleteFile(ProjectPath & "Voice\NoticeContent.wav",2,2) '则彻底删除之
                     End If

                    BriSDKLib.QNV_PlayFile(Vars("intChannelID"),BriSDKLib.QNV_PLAY_FILE_STOP,m_tagpstnData(Vars("intChannelID" )).lPlayFileHandle ,0,0)    '停止文件播放
                   
Return Nothing


[此贴子已经被作者于2016/9/30 22:19:51编辑过]

 回到顶部