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:
Abraço!
Roberto
11 commentsCategories: .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:
- Artigo sobre Databinding com LINQ baseado na palestra do TechEd (em inglês):
- Blog do Bruno Sonnino:
- Blog do Roberto Sonnino:
- Blog do Tim Sneath:
- Blog do Rob Relyea:
- Blog da Bea Costa:
Para assinar:
- Feed RSS: http://www.xamlcast.net
- iTunes/iPod: pcast://www.xamlcast.net
- Zune: zune://subscribe/?XAMLCast= http://www.xamlcast.net
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
4 commentsCategories: .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
5 commentsCategories: .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 commentCategories: Dicas, This is Cool, WPF
Lançamentos: A semana dos updates 12/12/07
Fala pessoal!
Esta semana tivemos vários lançamentos, em grande maioria atualizações. Fazendo um resumão:
- A atualização que mais interessa quem trabalha com WPF e Silverlight é o Expression Blend 2 December CTP. Este CTP permite que você trabalhe com o Visual Studio 2008 RTM, entre outras novidades. Confira!
- O maior lançamento dessa semana é o RC público do Windows Vista SP1. Ainda não testei, mas o pessoal falou que está bem interessante, fácil de instalar e com melhoras bastante significativas em uso da bateria e transferência de arquivos. Dêem uma olhada e me contem nos comentários!
- Outro grande lançamento de atualização é o Office 2007 SP1. Este pacote corrige alguns bugs crônicos, incluindo, segundo a Microsoft, os 5 bugs que mais causam crashes no Office. Já baixei pelo Windows Update e não tive nenhum problema.
- Baixe pelo Windows Update (recomendado) ou em http://www.microsoft.com/downloads/details.aspx?FamilyId=9EC51594-992C-4165-A997-25DA01F388F5&displaylang=en
Então fiquem atualizados e mandem bala!
Abraço!
Roberto
Comment this postCategories: 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:
- Blog do Rene de Paula
- Blog do Cezar Guimarães
- Posts que o Rene fez em seu blog sobre a aplicação que o Kelps Sousa, da AgênciaClick, desenvolveu:
Para assinar:
- Feed RSS: http://www.xamlcast.net
- iTunes/iPod: pcast://www.xamlcast.net
- Zune: zune://subscribe/?XAMLCast=http://www.xamlcast.net
Aguardem mais novidades!
Abraço,
Roberto Sonnino e Rodrigo Kono
2 commentsCategories: 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!
- Começando, o Karsten Januszewski e Jaime Rodriguez lançaram um mega paper que explica o XAML e a mentalidade do desenvolvedor e designer WPF, além de dicas muito interessantes sobre “A nova iteração” que chega aí. Imperdível!
- Também em dica do Karsten J, confira o Mole II do Josh Smith, um utilitário para debugging visual dos seus elementos, na linha do Snoop. Vale a pena!
- Dica ARRASADORA para quem quer fazer rotações em 3D (interativo!) sem ter que saber o que são câmeras, luzes, ângulos ou transforms: o Planerator, do Greg Schechter! Para usar é muito simples: coloque seus elementos dentro de um Planerator e diga a rotação. E pronto!
- Veja e baixe (com código fonte) aqui
- Veja e baixe (com código fonte) aqui
- Um artigo imperdível para quem quer realmente facilitar sua vida. Saiu na MSDN Magazine (também em versão traduzida para o português) um artigo que ensina como fazer um add-on para o Office usando WPF+WCF+LINQ+VSTO. Imperdível para pegar vários conceitos essenciais para o desenvolvedor de qualquer uma dessas tecnologias!
- Na mesma edição da MSDN Mag, veja também artigos sobre LINQ com WPF para fazer mapas, data binding WPF básico, AJAX e mais! Quente!
- O grande lançamento em WPF nessa semana foi certamente o Yahoo! Messenger for Windows Vista, feito completamente em WPF. Muito bonito! Além disso, ele funciona com a rede do MSN (Windows Live Messenger) também.
- Veja e baixe em http://messenger.yahoo.com/windowsvista.php
- Para quem já está dominando o WPF, uma dica imperdível! Foi lançado um concurso chamado WPF in Finance, com uma regra simples: pegue os dados e gere uma visualização nota 10! Valendo prêmios de mais de US$15,000! Para você ter uma idéia, o 1o lugar leva um Alienware Area-51, um Xbox Elite + jogos, um Zune, um pacotão de software, e mais umas coisinhas! Olha também o nível dos juízes: ninguém menos que Josh Smith, Rob Relyea e Charles Petzold! Além disso, as 25 primeiras submissões já ganham 3 livros e 1 pen drive com senha, além de outros brindes.
- Veja e participe em http://wpfcontest.lab49.com/index.aspx
Uau, muita coisa hein? Aproveitem!
Abraço!
Roberto
Comment this postCategories: .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:
- Cross-browser
- Multi-camada
- Sem dependência de plugins de qualquer gênero
- Rodando no cliente ou no servidor
- Com AJA, chamadas assíncronas, etc
- Com user controls
- Com gráficos e animações
- Com 3D
- Tudo em DHTML!
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!)
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 commentsCategories: .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:
- Criando User Control com WPF: http://www.codeguru.com/cpp/data/data-misc/xml/article.php/c12521/
- Estilos e modelos no WPF: http://www.microsoft.com/brasil/msdn/Tecnologias/netframework/WPFStyle.mspx
- XAML and WPF Coding Guidelines: http://paulstovell.net/blog/index.php/xaml-and-wpf-coding-guidelines/
- Estruturas dos projetos WPF: http://www.drwpf.com/blog/Home/tabid/36/EntryID/9/Default.aspx
Para assinar:
- Feed RSS: http://www.xamlcast.net
- iTunes/iPod: pcast://www.xamlcast.net
- Zune: zune://subscribe/?XAMLCast=http://www.xamlcast.net
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 commentCategories: 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 commentCategories: Novidades, Tecnologia, WPF
