循环中铃声和文字轮换进行语音播报,但每次都会把前面的新报障信息提示音.wav连续播报几遍,同时播放 文字,请老师看看代码是否有问题?
我希望是播放完一遍wav后,再播放文字,然后再进行第二个循环,如此往复。
If Date.today.DayOfWeek >= 1 AndAlso Date.today.DayOfWeek <= 5 AndAlso (format(Date.Now, "HHmm") <= "1200" Or format(Date.Now, "HHmm") >= "1430") Then '在周一到周五的 12:00以前和14:30以后,都播报
DataTables("自助报障记录表").Load
For Each nr As DataRow In DataTables("自助报障记录表").DataRows
If nr("问题描述") <> Nothing And nr("问题处理状态")="继续跟进" Then
Dim sp_str As String= nr("计算机中心责任人") & "有报障仍未解决,请注意:" & nr("所在楼") & nr("所在科室") & nr("所在房间") & nr("三级分类")
'下面是不能调用函数的,以防第一轮调用的提示音还没播完就在调用第二轮的播放函数了,就会连续听到N个提示音
Audio.play("Voice\新报障信息提示音.wav",AudioPlayMode.WaitToComplete) '播放提示音,并且要等它播放完毕
sp.Speak(sp_str, DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync) '异步
End If
Next
End If