有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javascript使用基于java的逻辑编写TinyMCE自定义插件

我是一个插件开发新手,关于我正在从事的一个学校项目,我需要开发一个语音转换功能,允许用户将输入内容输入文本编辑器,在这种情况下,我只能使用TinyMCE编辑器。我得到了一个开发良好的java语音识别库,名为CMU Sphinx-sphinx4

现在,我的问题来了。Sphinx4是一个java库,它包含创建插件所需的所有逻辑。但是对于TinyMCE,我只能用javascript编写插件。我试着编写一个简单的演示,但没有成功地让插件工作。以下是代码片段
1.索引。html

<!DOCTYPE html>
<html>
<head>
    <script src="//cdn.tinymce.com/4/tinymce.min.js"></script>
<script>
    tinymce.init({
        selector:'textarea',
        plugins: 'voiceDictation',
        toolbar: 'voiceDictation'
    });
</script>
</head>
<body>
<textarea>Testing voiceDictation</textarea>
</body>
</html>
  1. 口述。爪哇

    package javapackage;
    import edu.cmu.sphinx.api.Configuration;
    import edu.cmu.sphinx.api.LiveSpeechRecognizer;
    
    import java.io.IOException;
    
    public class Dictate {
    public static LiveSpeechRecognizer dictate() throws IOException {
        Configuration configuration = new Configuration();
    
    
    
     configuration.setAcousticModelPath
     ("resource:/edu/cmu/sphinx/models/en-us/en-us");
    configuration.setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict");
    configuration.setLanguageModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us.lm.bin");
    
    LiveSpeechRecognizer recognizer = new LiveSpeechRecognizer(configuration);
    recognizer.startRecognition(true);
    return recognizer;
    }
    }
    
  2. 插件。js

    import _ from 'lodash';
    
    const plugin = (editor) => {
    editor.addButton('voiceDictation', {
    text: 'voiceDictation',
    icon: false,
    onclick: () => {
    var recognizer = Packages.javapackage.Dictate.dictate;
    var result = recognizer.getHypothesis();
    
        editor.windowManager.open({
            title: 'voiceDictation plugin',
            body: [
                { type: 'textbox', name: {result} }
            ],
    
    
    })
    }
    })
    };
    
    export default plugin;
    
  3. 索引。js

    import plugin from './plugin';
    
    tinymce.PluginManager.add('voiceDictation', plugin);
    

任何帮助,无论多么微不足道,都将不胜感激


共 (1) 个答案

  1. # 1 楼答案

    Java和javascript是非常不同的语言,您很少可以从javascript使用Java库,除非您设置一个运行Java库的服务器,并通过网络与它联系。浏览器中的Javascript与其他软件交互的能力非常有限。例如,对于您的任务,您可以使用javascript语音识别库

    Chrome Web Speech API-仅在Chrome中有效

    Dictate.js也适用于Firefox,但需要在某个地方安装服务器。在某些浏览器中无论如何都不起作用

    你可以搜索其他人