Olá Pessoal.
Sou novo aqui no fórum, então, se stiver postando a dúvida no local errado me desculpem.
Estou criando uma aplicação que utiliza a Java Speech API para reconhecimento de voz ( juntamente com o IBM ViaVoice).O reconhecimento é feito com base em um arquivo que contêm as palavras que serão reconhecidas ( arquivo de gramática ).Já está tudo funcionando bem, porém, quando coloco muitas palavras neste arquivo, fazendo ele aumentar de 64k para 200k por exemplo, ocorre um erro ( neste caso, quando mais palavras neste arquivo, mais palavras serão reconhecidas pelo reconhecedor - com poucas palavras ele funciona normalmente). Que segue abaixo:
An unexpected error has been detected by Java Runtime Environment:
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x031f00c0, pid=2976, tid=3608
Java VM: Java HotSpot™ Client VM (1.6.0_03-b05 mixed mode, sharing)
Problematic frame:
C [uvocab.dll+0x100c0]
Já li o log mas não consegui constatar nada.Caso queiram, posso postar aqui depois. Vou colocar um trecho do código aqui responsável pelo carregamento da gramática.
rec = Central.createRecognizer(new EngineModeDesc(new Locale(“pt”,“BR”)));
rec.allocate();
FileReader in = new FileReader(“gramatica.gram”);
gram = rec.loadJSGF(in);
gram.setEnabled(true);
rec.addResultListener(this);
rec.commitChanges();
rec.requestFocus();
rec.resume();
Pensei em estouro de memória, mas já alterei as configurações de memória na JVM e não obtive resultados.Já testei tanto em uma máquina com 1GB de Ram quanto numa de 2GB, o resultado foi o mesmo.
Já “varri” o google atrás de respostas, mais infelizmente não consegui resolver o problema.Então, se alguém tiver alguma dica, toda ajuda é bem-vinda
