pb中如何调用微软语音引擎(tts)中的SpeakStream方法去读音乐文件。
如下是vbl例子,谁能给我翻译一下,尤其是在PB中如何调用SpeakStream去读一个MP3或WAV文件。谢谢
Option Explicit
Private M As SpeechLib.SpVoice 'M is a male voice
Private F As SpeechLib.SpVoice 'F is a female voice
Private S As SpeechLib.SpFileStream
Private Sub Command1_Click()
'Build a local file path and open it as a stream
Set S = New SpFileStream
Call S.Open("C:\SpeakStream.wav", SSFMCreateForWrite, False)
'Female voice speaks into the file stream and creates a WAV file
Set F.AudioOutputStream = S
F.Speak "cee : \ speak stream dot wave", SVSFNLPSpeakPunc
S.Close
'Male voice speaks female voice's stream
Call S.Open("C:\SpeakStream.wav", , False)
M.Speak "i will now demonstrate the speak stream method."
M.SpeakStream S
M.Speak "that sounded like " & F.Voice.GetDescription & ", but it was me."
End Sub
Private Sub Form_Load()
'Create voices
Set F = New SpVoice
Set F.Voice = F.GetVoices("gender=female").Item(0)
Set M = New SpVoice
Set M.Voice = M.GetVoices("gender=male").Item(0)
End Sub
谢谢。
[解决办法]
//声明ole对象
oleobject M, F, S
//创建ole对象
M = CREATE OLEObject
IF M.ConnectToNewObject("SAPI.SpVoice") <> 0 THEN
messagebox('调用错误','您可能还未安装语音库!')
M.DisconnectObject()
DESTROY M
end if
F = CREATE OLEObject
IF F.ConnectToNewObject("SAPI.SpVoice") <> 0 THEN
messagebox('调用错误','您可能还未安装语音库!')
F.DisconnectObject()
DESTROY F
end if
S = CREATE OLEObject
IF S.ConnectToNewObject("SAPI.SpFileStream") <> 0 THEN
messagebox('调用错误','您可能还未安装语音库!')
S.DisconnectObject()
DESTROY S
end if
//调用
constant ulong SSFMCreateForWrite = 3
S.Open(("C:\SpeakStream.wav", SSFMCreateForWrite, false)
F.AudioOutputStream = S
F.Speak("cee : \ speak stream dot wave")
S.Close()
[解决办法]
SpVoiceClass详解
属性
描述
AlertBoundary
取得或设置停顿分界线。
AllowAudioOutputFormatChangesOnNextSet
设置是否允许声音自动调整到合适状态以适应其音频输出。
AudioOutput
.取得或设置当前声音使用的的音频输出对象
AudioOutputStream
取得或设置当前声音使用的的音频输出流对象。
EventInterests
取得或设置当前声音返回的事件类型。
Priority
取得或设置声音的优先级。
Rate
取得或设置阅读的速度。
Status
返回一个ISpeechVoiceStatus 对象用于显示当前阅读和事件的状态
SynchronousSpeakTimeout
取得或设置一个时间间隔,用于标识多久未获得一个输出设备后,一个同步的Speak 和SpeakStream将终止,以毫秒计算。
Voice
取得或设置发音对象。
Volume
取得或设置声音的大小 。
方法
描述
DisplayUI
是否在控制面板中展示详细设置。
GetAudioOutputs
返回一个可用的音频输出标记。
GetVoices
返回一个可用的发音对象。
IsUISupported
决定是否能通过控制棉板的音频设置来控制。
Pause
暂停朗读。.
Resume
恢复暂停,继续播放。
Skip
在当前输入的文本流中向前或向后跳一定距离再播放。
Speak
阅读一个字符串。
SpeakCompleteEvent
得到一个朗读完毕的时间句柄
SpeakStream
朗读一个文本流或一个声音文件。
WaitUntilDone
阻塞进程,直到声音播放完毕或者超时。
[解决办法]
可连续播放的MP3播放器 http://download.csdn.net//detail/newease/1734161
pb 多媒体 声音 播放 wav http://download.csdn.net/detail/newease/3302554