jump to navigation

Dica: Usando reconhecimento de voz no Vista sem conflitar com o sistema operacional 27/12/07

 

Fala pessoal!

Hoje eu estava brincando um pouco com o Vista, e resolvi fuçar para ver se eu conseguia resolver um velho problema de todos os desenvolvedores de voz no Vista: quando você usa algum comando que conflita com o Windows Vista (ex. "close", ou "start"), o Windows sempre ganha, e a aplicação não executa o que você quer. E então, eu descobri a salvação: substitua o SpeechRecognizer por um SpeechRecognitionEngine!

Para demonstrar a dica, vou fazer um pequeno programa WPF. Crie um novo projeto WPF Windows, adicione referência para o namespace System.Speech (Project > Add Reference… > aba .NET), e adicione na janela principal um TextBlock:

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <TextBlock x:Name="resultado" Text="Nada, ainda"/>
    </Grid>
</Window>

No código C#, adicione uma referência (using) para System.Speech.Recognition, e crie o SpeechRecognizer como sempre. Neste exemplo, vou usar palavras que conflitam com  Vista, como "startmenu" e "close":

public partial class Window1
{
    public Window1()
    {
        InitializeComponent();
        Loaded += Window1_Loaded;
    }
    protected object grammarLock = new object();

    void Window1_Loaded(object sender, RoutedEventArgs e)
    {
        SpeechRecognizer _recognizer = new SpeechRecognizer();
        _recognizer.SpeechRecognized += _recognizer_SpeechRecognized;

        lock (grammarLock)
        {
            _recognizer.UnloadAllGrammars();
            _recognizer.LoadGrammar(new Grammar(new GrammarBuilder(new Choices("start menu", "close"))));
         }
    }

    void _recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
        resultado.Text = e.Result.Text;
    }
}

Rode a aplicação e tente falar "close", ou "start menu". O Vista vai pegar a prioridade sobre o comando, e sua janela irá fechar, ou o menu iniciar vai abrir. Como resolver isso? Você terá que trocar o SpeechRecognizer criado com a engine do Vista por um SpeechRecognitionEngine. Veja as mudanças:

void Window1_Loaded(object sender, RoutedEventArgs e)
{
    SpeechRecognitionEngine _recognizer = new SpeechRecognitionEngine(); // mudei para SpeechRecognitionEngine
    _recognizer.SpeechRecognized += _recognizer_SpeechRecognized;
    _recognizer.SetInputToDefaultAudioDevice(); // adicionei essa linha para dizer que o som vem do microfone

    lock (grammarLock)
    {
        _recognizer.UnloadAllGrammars();
        _recognizer.LoadGrammar(new Grammar(new GrammarBuilder(new Choices("start menu", "close"))));
    }
    _recognizer.RecognizeAsync(RecognizeMode.Multiple); // adicionei essa linha ativar o reconhecimento
 }

E pronto! Após essas mudanças, rode a aplicação e veja o resultado: quando você falar "close" e "start menu", eles aparecerão escritos na janela!

Problema resolvido! O único detalhe que você tem que ficar atento é que você perde a interface do Vista para voz, então fique de olho para fazer a sua interface ’substitutiva’ para manter uma experiência intuitiva para o usuário.

Você pode baixar o código dessa dica clicando no link abaixo:

Código-fonte da dica

Abraço!

Roberto

4 comentarios
Categorias: .net, Dicas, WPF
 

XAMLCast no TechEd 2007 - Parte 2 - www.xamlcast.net 24/12/07

 

Fala pessoal!


Continuando a série de entrevistas que fizemos no TechEd 2007, hoje temos a entrevista com o MVP Bruno Sonnino que fez duas palestras (”WPF - Tudo que o Desenvolvedor precisa saber em 75 minutos”; “Visualização de dados com WPF”).

Experiência de desenvolvimento, dicas, Silverlight, 3D entre outros assuntos foram falados pelo Bruno. O áudio tem 30 min e está muito interessante. Vale a pena ouvir!

Seguem os links referenciais:

Para assinar:

 
icon for podpress  XAMLCast no TechEd - Parte 2 [31:06m]: Play Now | Play in Popup | Download

Um Feliz Natal e Feliz 2008 para todos. O XAMLCast entra de férias agora e volta no meio de Janeiro.
Muitas realizações e muitas renderizações… =)

Abraço!

Roberto Sonnino e Rodrigo Kono

2 comentarios
Categorias: .net, Dicas, Novidades, Silverlight, WPF, XAMLCast
 

Artigo: Criando uma aplicação em 3D interativo com voz e tinta usando WPF 3.5 21/12/07

 

Fala pessoal!

Acabei de lançar um artigo meu no CodeProject , um artigo gigante explicando como criar um livro em 3D interativo, com voz e tinta, usando WPF 3.5! Nesse artigo eu também revelo alguns dos segredos do nosso projeto campeão da Imagine Cup 2007, o e-du, que tinha uma interface parecida.

Segue o link:

http://www.codeproject.com/KB/WPF/3D-bookwriter.aspx 

Vale a pena visitar e conferir! (em inglês)

Se gostou, por favor se cadastre e vote (no final, à direita, em “Rate this article”). E claro, comente!

Aproveitando, visite e comente também no artigo que meu pai publicou hoje, no link: http://www.codeproject.com/KB/WPF/wpfviews.aspx .

Obrigado!

Roberto

Comente este post
Categorias: .net, Artigos, Dicas, Imagine Cup, Novidades, WPF, Windows Vista
 

This is cool: HandyXaml 16/12/07

 

Fala pessoal!

Essa semana vi uma dica nota 10 que vai economizar um bom tempo e trabalho dos programadores XAML (e XML, por que não). É um programinha que se chama HandyXaml, que funciona como um XAMLPad com sintaxe colorida e suporte a compilação, referências, etc. , mas principalmente porque ele muda a sintaxe do XAML para uma sintaxe mais simples e compacta!

Chega de perder tempo digitando os sinais de maior/menor <>! Usando o HandyXaml, isto aqui:

<Window>
  <Button Width="75" Height="23">
    Clique!
  </Button>
</Window>

Vira isso aqui:

Window
  Button Clique!
    Width 75
    Height 23

Teste agora e veja!

http://handyxaml.wordpress.com/

Abraço!

Roberto

1 comentario ate agora
Categorias: Dicas, This is Cool, WPF
 

Lançamentos: A semana dos updates 12/12/07

 

Fala pessoal!

Logo do Windows Update

Esta semana tivemos vários lançamentos, em grande maioria atualizações. Fazendo um resumão:

Então fiquem atualizados e mandem bala!

Abraço!

Roberto

Comente este post
Categorias: Expression, Microsoft, Novidades, Office 2007, Windows Vista
 

XAMLCast no TechEd 2007 - Parte 1 - www.xamlcast.net 11/12/07

 

Fala pessoal!

Eu e o Rodrigo Kono estivemos no TechEd 2007 na semana passada e por lá conversamos com todos os palestrantes que fizeram apresentações sobre WPF, Silverlight e XAML em todo o evento. Hoje estamos publicando a primeira parte dessa matéria especial, com as entrevistas que fizemos com o Rene de Paula, Cezar Guimarães e Kelps Souza, falando de Silverlight, Blend, Live e mais. Agora, já que está na moda, o XAMLCast está em alta definição!

Ouça e aguarde as próximas entrevistas!

Links de referência:

Para assinar:

 
icon for podpress  XAMLCast no TechEd - Parte 1: Play Now | Play in Popup | Download

Aguardem mais novidades!

Abraço,

Roberto Sonnino e Rodrigo Kono

1 comentario ate agora
Categorias: Dicas, Expression, Microsoft, Novidades, Silverlight, Windows Live, XAMLCast
 

This is Cool: Notícias e dicas da semana 9/12/07

 

Fala pessoal!

Uma semana cheia, com o TechEd, e com muitas novidades e dicas interessantes!

Uau, muita coisa hein? Aproveitem!

Abraço!

Roberto

Comente este post
Categorias: .net, Dicas, Microsoft, Novidades, This is Cool, WPF, Windows Vista
 

Microsoft Live Labs Volta: WOW!!!!!!!! 6/12/07

 

Fala pessoal!

Hoje a Microsoft anunciou um produto que é o WOW do WOW!!! É o Microsoft Labs Volta, um produto revolucionário que permite que você escreva aplicações cross-browser (HTML/Javascript!) como se fosse cliente Windows, ASP.net, etc!!!! E essas aplicações podem usar controles diferenciados, gráficos malucos e 3D!!!!!!

Você deve estar se perguntando: O QUÊ???

Eu explico: o Volta é um framework que permite que você faça o design HTML (como você preferir), adicione code-behind C#/VB.net/J#/etc. e compile numa aplicação:

Tudo isso SEM PRECISAR SABER o que se passa! Ou seja, sem ser um mestre do DOM e do Javascript Cross-Browser não-obtrusivo!

Ou seja: desenvolve com .net, debuga (com breakpoints, etc), salva, e roda onde você quiser! O próprio tagline deles já diz tudo: “Web application development using only the materials in the room”, ou seja “Desenvolvimento de aplicações Web usando apenas o material que está na sala”!

Aproveite, conheça, baixe (e delire!)

http://labs.live.com/volta/

Não perca também os samples, não precisa baixar nem instalar nada:

http://labs.live.com/volta/samples.aspx

Abraços e aguardem o XAMLCast do TechEd!

Roberto

6 comentarios
Categorias: .net, Dicas, Live, Microsoft, Novidades, Windows Live
 

XAMLCast: Episódio 4 - www.xamlcast.net 2/12/07

 

Fala pessoal!

Nesse quarto XAMLCast falamos sobre um assunto solicitado por vocês: organização no arquivo XAML.
Um assunto muito útil e essencial para o desenvolvedor WPF e Silverlight.

Seguem abaixo os links relacionados:

Para assinar:

 
icon for podpress  XAMLCast - Episodio 4: Play Now | Play in Popup | Download

OBS.: Pelo fato do XAMLCast ser gravado online (Kono em GO e Sonnino em SP) podem ocorrer cortes ou sobreposição de falas. Desculpem!

Ouça já e aprenda mais sobre o assunto.

Nos vemos no TechEd!

Abraço,

Roberto Sonnino e Rodrigo Kono

1 comentario ate agora
Categorias: Dicas, WPF, XAMLCast
 

XAML em Java!!!

 

Fala pessoal,

Uma novidade espantosa, e ao mesmo tempo revolucionária! A empresa Soyatec criou e lançou recentemente um framework para Java chamado eFace que permite usar arquivos XAML como interface! O framework já tem suporte a várias features importantes, como layout e data binding (!), mas ainda faltam algumas mais avançadas, como Ink e 3D. No fim, ele compila para SWT (Swing), o que permite que você renderize no Windows, Mac OS e Linux.

O projeto já está bem poderoso: eles já desenvolveram um designer para o Eclipse (lembra o XAMLPad), um sistema completo de controles, e suportam os xmlns originais do WPF!

Veja o site e descubra! Também tem várias demos interessantes, que rodam em browser.
http://www.soyatec.com/eface/ 

Só um comentário: WPF no Linux, celular e tudo o mais? Microsoft, compre essa empresa o quanto antes! =D

Abraços,

Roberto

1 comentario ate agora
Categorias: Novidades, Tecnologia, WPF