ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Falar no microfone e gravar em um memo

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
cofercatu
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 30 de Outubro de 2006
Mensagens: 249

MensagemEnviada: Ter Mai 28, 2024 9:01 am    Assunto: Falar no microfone e gravar em um memo Responder com Citação

Bom dia,
encontrei o código abaixo para que seja possível falar no microfone e escrever em um memo, mas estou com erro: OLE error 80045077, classID.

Delphi 10.1
Windows 10


Código:
unit UPrincipal;

interface

uses
  Windows, Messages, SysUtils, Variants,
 Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, OleServer, SpeechLib_TLB,
 ActiveX;

type
  TForm1 = class(TForm)
    SpSharedRecoContext1: TSpSharedRecoContext;
    Memo1: TMemo;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure SpSharedRecoContext1Recognition(ASender: TObject;
      StreamNumber: Integer; StreamPosition: OleVariant;
      RecognitionType: TOleEnum; const Result: ISpeechRecoResult);
    procedure Button1Click(Sender: TObject);
    procedure SpSharedRecoContext1Hypothesis(ASender: TObject;
      StreamNumber: Integer; StreamPosition: OleVariant;
      const Result: ISpeechRecoResult);
  private
    { Private declarations }
    Gramatica: ISpeechRecoGrammar;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  SpSharedRecoContext1.Free;
  Form1.Close
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SpSharedRecoContext1 := TSpSharedRecoContext.Create(self);
  SpSharedRecoContext1.OnRecognition   := SpSharedRecoContext1Recognition;
  SpSharedRecoContext1.OnHypothesis    := SpSharedRecoContext1Hypothesis;
  SpSharedRecoContext1.EventInterests := SREAllEvents;
  Gramatica := SpSharedRecoContext1.CreateGrammar(0);
  Gramatica.DictationSetState(SGDSActive);
end;

procedure TForm1.SpSharedRecoContext1Hypothesis(ASender: TObject;
  StreamNumber: Integer; StreamPosition: OleVariant;
  const Result: ISpeechRecoResult);
begin
  Caption := 'Aguardando conversa microfone';
end;

procedure TForm1.SpSharedRecoContext1Recognition(ASender: TObject;
  StreamNumber: Integer; StreamPosition: OleVariant; RecognitionType: TOleEnum;
  const Result: ISpeechRecoResult);
begin
  Memo1.SelText := Result.PhraseInfo.GetText(0, -1, True) + #32;
end;

end.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB