当我启动javafx窗口和sphinx应用程序时,我遇到了一些错误,如果我首先运行sphinx然后启动窗口程序不会记录任何命令,只有当我关闭窗口时,如果我启动窗口首先是狮身人面像记录,但通常阻挡窗口。
我的窗口:
public class Escolha extends Application{
private static final Image FOTOPROXY = new Image(Escolha.class.getResourceAsStream("/foto/proxy.png"));
private static final Font Corleone = Font.loadFont(Escolha.class.getResourceAsStream("/fontes/corleone.ttf"), 20);
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
init(primaryStage);
primaryStage.show();
}
public void init(final Stage primaryStage) {
//primaryStage.setScene(new Scene(addBorda()));
Group root = new Group();
primaryStage.setScene(new Scene(root));
HBox hboxImagem = new HBox();
hboxImagem.setPadding(new Insets(5, 5, 5, 25));
hboxImagem.setSpacing(10);
hboxImagem.setStyle("-fx-background-color: #b3ccff");
ImageView imagem = new ImageView(FOTOPROXY);
imagem.setFitHeight(200);
imagem.setFitWidth(550);
hboxImagem.getChildren().add(imagem);
HBox hboxTexto = new HBox();
hboxTexto.setPadding(new Insets(15, 5, 15, 15));
hboxTexto.setSpacing(10);
hboxTexto.setTranslateY(210);
hboxTexto.setStyle("-fx-border-style: solid;" + "-fx-border-width: 4;" +
"-fx-border-color: #99b3ff");
HBox hboxBotoes = new HBox();
hboxBotoes.setPadding(new Insets(35, 1, 1, -20));
hboxBotoes.setSpacing(10);
Text texto = new Text("Caso possua proxy é necessário configura-lo antes de executar a Olivia,\n" +
"você deseja configurar agora?");
texto.setFont(Corleone);
EventHandler<ActionEvent> vaiSim = new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent event) {
Configuracao.configurarProxy();
}
};
Button sim = new Button("Sim");
sim.setStyle("-fx-base: #b3ccff");
sim.setOnAction(vaiSim);
EventHandler<ActionEvent> vaiNao = new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent event) {
HelloWorld.RecDeVoz();
}
};
Button nao = new Button("Não");
nao.setStyle("-fx-base: #b3ccff");
nao.setOnAction(vaiNao);
hboxBotoes.getChildren().addAll(sim, nao);
hboxTexto.getChildren().addAll(texto, hboxBotoes);
root.getChildren().addAll(hboxImagem, hboxTexto);
}
答案 0 :(得分:0)
只能在一个应用程序中访问您的麦克风。 Yuor javafx也正在访问麦克风,正如行HelloWorld.RecDeVoz();
如果你想在你的应用程序中使用Sphinx4,你很可能必须集成它:build,将sphinx jar链接到app,然后开始识别。
如果您尝试离线识别(来自录制的音频文件),您应该更改sphinx配置以使用文件来源而不是麦克风作为输入。