2cc070112
41305
|
2011/1/18 9:54:29 |
先下载,谢谢分享 |
feineng
31886
|
2007/11/19 9:23:22 |
SRC.EXE一启动就报错"OLE ERROR". 我已经安装了MS SPEECH5.1.为何会这样呢. 我的也是 楼主呢? |
isxuzhu
31302
|
2007/9/28 13:22:05 |
SRC.EXE一启动就报错"OLE ERROR". 我已经安装了MS SPEECH5.1.为何会这样呢. |
ugksoft
30780
|
2007/8/9 12:58:36 |
已经解决 |
3304xfq
30585
|
2007/8/1 12:55:37 |
var i:ISpeechRecoGrammar;
procedure TForm1.FormCreate(Sender: TObject); var f:TFileStream; buff:array of byte; begin
i:=SpInProcRecoContext1.CreateGrammar(0);
//SpFileStream1.Open('c:\a.wav',0,false);
SpInProcRecoContext1.Recognizer.AllowAudioInputFormatChangesOnNextSet:=False;
SpMemoryStream1.Format.type_:=18;
//SpInProcRecoContext1.Recognizer.AudioInputStream:=SpFileStream1.DefaultInterface; SpInProcRecoContext1.Recognizer.AudioInputStream:=SpMemoryStream1.DefaultInterface; i.DictationUnload;
SpInProcRecoContext1.EventInterests:=SREAllEvents; i.DictationSetState(0);
end;
procedure TForm1.SpInProcRecoContext1Recognition(ASender: TObject; StreamNumber: Integer; StreamPosition: OleVariant; RecognitionType: TOleEnum; const Result: ISpeechRecoResult); begin Memo1.Lines.Add(result.PhraseInfo.GetText(0,-1,false)); end;
procedure TForm1.SampleGrabber1Buffer(sender: TObject; SampleTime: Double; pBuffer: Pointer; BufferLen: Integer); var buff:olevariant; p:Pointer; b:array of byte;
begin
//pBuffer就是声音数据,也就是wavefile的数据,从sizeof(wavehead)(以后的数据sizeof(wavehead)好像是=58)
buff:=VarArrayCreate([0,BufferLen-1],varByte); p := VarArrayLock(buff); windows.CopyMemory(p,pbuffer,bufferlen);
VarArrayUnlock(buff);
SpMemoryStream1.Write(buff); //???这步以后 AudioInputStream=nil,而且CPU永远是0,就是说没有进行识别
//我要对buff:array of byte的内存流识别,是不是应该用SpMemoryStream1?, //我用其它的,比如spaudioplug,write时就"拒绝存取"spaudioplug在simpleaudio.dll中
end;
怎么处理啊,各位大侠帮忙 |
kinneng
30550
|
2007/7/28 8:31:08 |
好东西,但是这代码Vb的早已经有,试过不实用,5.1已经很多年了,Ms没更新,识别率 不是怎样,做玩具都不及格,调用Ibm的我也研究过,效果差不多,不过很多年,上世纪 了 |
hongbin
30346
|
2007/7/12 0:35:26 |
怎么不好用呀,运行src就提示ole什么错误 ?请明示,谢谢 |
upp
30172
|
2007/6/25 14:30:36 |
多谢Sunage兄的无私奉献! |
第一页 |
上一页
|
下一页
|
最后页 |
有
8
条纪录 共1页
1
-
8
|
|