我从here得到了编码示例,可以工作了。
我可以运行一个.wav文件并获取成绩单,但是在该示例中,该程序直到我按下某个键时才结束:
System.out.println("Press any key to stop");
new Scanner(System.in).nextLine();
这似乎在查询服务时人为地暂停了所有操作。 如果我删除了这些行,程序将快速跳转并结束,而无需等待服务响应。
问题:如何在不敲键的情况下以完全转录的方式继续/继续执行程序?
我想为多个.wav文件运行此文件,然后相互转录。但是到目前为止,它运行第一个然后等待。
我一直在搜寻documentation,并且尝试了多种方法,包括使用recognizer.close();
,我希望可以结束SpeechRecognizer
,但似乎无能为力。
或使用result = recognizer.recognizeOnceAsync().get();
不会转录完整文件。
有人知道运行多个文件的示例或如何实现该示例吗?
谢谢。
答案 0 :(得分:0)
您可以创建一个函数来读取并返回目录中的文件列表:
private static String[] GetFiles(String directory)
{
String[] files = (new File(directory)).list(File::isFile);
return files;
}
然后遍历它们以处理它们,然后转录它们。
String[] files = GetFiles(args[0]);
for (String file : files)
{
//Your code goes here.
System.out.printf("File %1$s processed" + "\r\n",file);//print out which file has been successfully processed.
}
您还可以尝试使用Batch Transcription功能!
如果您有大量音频输入,则批量转录是理想的选择 存储。