Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript } 功能句柄识别(事件){ 识别。停止(); var chapter=event.results[event.results.length-1][0].transcript.trim(); 控制台日志(第章); 对于(var i=0;i_Javascript_Text To Speech_Speech To Text_Webspeech Api - Fatal编程技术网

Javascript } 功能句柄识别(事件){ 识别。停止(); var chapter=event.results[event.results.length-1][0].transcript.trim(); 控制台日志(第章); 对于(var i=0;i

Javascript } 功能句柄识别(事件){ 识别。停止(); var chapter=event.results[event.results.length-1][0].transcript.trim(); 控制台日志(第章); 对于(var i=0;i,javascript,text-to-speech,speech-to-text,webspeech-api,Javascript,Text To Speech,Speech To Text,Webspeech Api,plnkr您可以尝试将数组关联为存储图书名称和链接 链接arr['book1']='linkforbook1'; 链接arr['book2']='linkforbook2'; . . 通过获取相应书籍的链接 link=link_arr[bookVal] 您可以尝试关联数组以将图书名称和链接存储为 链接arr['book1']='linkforbook1'; 链接arr['book2']='linkforbook2'; . . 通过获取相应书籍的链接 link=link_arr[bookVal

plnkr

您可以尝试将数组关联为存储图书名称和链接

链接arr['book1']='linkforbook1'; 链接arr['book2']='linkforbook2'; . .

通过获取相应书籍的链接


link=link_arr[bookVal]

您可以尝试关联数组以将图书名称和链接存储为

链接arr['book1']='linkforbook1'; 链接arr['book2']='linkforbook2'; . .

通过获取相应书籍的链接


link=link_arr[bookVal]

除了这些,我应该在哪里替换呢?@SamarDahan您在JSFIDLE上试过代码吗?
“UK English Femal”
是一种定义的声音吗?是的,我已经试过了,我还在努力适应我的代码,我应该把书的链接放在哪里?你说的“书的链接”是什么意思?我的主要目标是首先让用户通过声音(语音对文本)请求一个特定的(书名),然后打开书大声阅读(文本对语音)最后一步是将这本书打印成布莱叶盲文,我的难点是我没有找到一种方法以pdf格式打开这本书,所以我只是把它作为一个文本区域,我不知道如何用这个代码将文本转换成布莱叶盲文字母,我应该在哪里删除它们,或者用什么替换它们?@SamarDahan你在JSFIDLE上试过代码吗?
“UK English Femal”
是一种定义的声音吗?是的,我已经试过了,我还在努力适应我的代码,我应该把书的链接放在哪里?你说的“书的链接”是什么意思?我的主要目标是首先让用户通过声音(语音对文本)请求一个特定的(书名),然后打开书大声阅读(文本对语音)最后一步是把这本书打印成布莱叶盲文,我的难点是我没有找到一种方法以pdf格式打开这本书,所以我把它作为一个文本区域,我不知道如何用这个代码将文本转换成布莱叶盲文
 if (speechresult ) {

    //here I added speechrecognizer.stop for the commands to not get interrupted
    speechRecognizer.stop();
    var yourValue = 'Book 1';
      window.open("http://localhost/introductiontonetworking.html");
    responsiveVoice.speak(bookstart, "UK English Female", {
        //The pitch property of the SpeechSynthesisUtterance interface gets and sets the pitch at which the utterance will be spoken at. by default 1
        pitch: 1
    }, {
        //rate by default 1
        rate: 1
    });

}


else if (speechresult == book2) {

    speechRecognizer.stop();
            var yourValue = 'Book 2';
      window.open("http://localhost/ethicalhacking.html");
    responsiveVoice.speak(bookstart, "UK English Female", {

        pitch: 1
    }, {

        rate: 1
    });

}
<!DOCTYPE html>
<html>

<head>
  <title>Ethical Hacking book</title>
  <style type="text/css">
    body {
      font-family: verdana;
    }

    .button {
      display: inline-block;
      background: #f6f6f6;
      padding: 10px 20px;
      color: #000;
      border: 1px solid #ccc;
      cursor: pointer;
      margin-top: 20px;
    }

    .button:hover {
      box-shadow: 4px 4px 10px 0 #ccc;
    }

    .container textarea,
    .container .brailleResult {
      width: 1333px;
      height: 1000px;
      resize: none;
      outline: none;
      border: 1px solid #ccc;
      box-shadow: 0 0 10px 0 #ddd;
      font-size: 14px;
    }
  </style>
</head>

<body>

  <div class="container">
    <h3>Ethical Hacking</h3>
    <textarea class="myText" data-chapter='["chapter one", "chapter 1"]'>Chapter 1. Introduction to Hacking. There are many definitions for hacker. Ask this question from a phalanx, and you will get a new answer every time, because more mouths will have more talks, and this is the reason behind the different definitions
      of hackers, which in my opinion is quite justified for everyone has a right to think differently. In the early 1990s, the word hacker was used to describe a great programmer, someone who was able to build complex logics.
    </textarea>
    <div class="brailleResult"></div>
    <textarea class="myText" data-chapter='["chapter two", "chapter 2"]'>Chapter 2. Linux Basics. In order to become a good ethical hacker or penetration tester, you need to be conversant with Linux, which is by far one of the most powerful operating systems. Linux is really good for ethical hacking and penetration testing
      because it is compatible with a wide variety of related tools and software, whereas other operating systems such as Mac and Windows support fewer of these software and tools. In this chapter, I will teach you some of the very basics of operating
      a Linux OS. If you are already familiar with Linux basics, you can skip this chapter.</textarea>
    <div class="brailleResult"></div>
  </div>
  <script type="text/javascript">
    var braille = [
      ['1', '⠼⠁'],
      ['2', '⠼⠃'],
      ['3', '⠼⠉'],
      ['4', '⠼⠙'],
      ['5', '⠼⠑'],
      ['6', '⠼⠋'],
      ['7', '⠼⠛'],
      ['8', '⠼⠓'],
      ['9', '⠼⠊'],
      ['0', '⠼⠚'],

      ['A', '⠠⠁'],
      ['B', '⠠⠃'],
      ['C', '⠠⠉'],
      ['D', '⠠⠙'],
      ['E', '⠠⠑'],
      ['F', '⠠⠋'],
      ['G', '⠠⠛'],
      ['H', '⠠⠓'],
      ['I', '⠠⠊'],
      ['J', '⠠⠚'],
      ['K', '⠠⠅'],
      ['L', '⠠⠇'],
      ['M', '⠠⠍'],
      ['N', '⠠⠝'],
      ['O', '⠠⠕'],
      ['P', '⠠⠏'],
      ['Q', '⠠⠟'],
      ['R', '⠠⠗'],
      ['S', '⠠⠎'],
      ['T', '⠠⠞'],
      ['U', '⠠⠥'],
      ['V', '⠠⠧'],
      ['W', '⠠⠺'],
      ['X', '⠠⠭'],
      ['Y', '⠠⠽'],
      ['Z', '⠠⠵'],

      ['a', '⠁'],
      ['b', '⠃'],
      ['c', '⠉'],
      ['d', '⠙'],
      ['e', '⠑'],
      ['f', '⠋'],
      ['g', '⠛'],
      ['h', '⠓'],
      ['i', '⠊'],
      ['j', '⠚'],
      ['k', '⠅'],
      ['l', '⠇'],
      ['m', '⠍'],
      ['n', '⠝'],
      ['o', '⠕'],
      ['p', '⠏'],
      ['q', '⠟'],
      ['r', '⠗'],
      ['s', '⠎'],
      ['t', '⠞'],
      ['u', '⠥'],
      ['v', '⠧'],
      ['w', '⠺'],
      ['x', '⠭'],
      ['y', '⠽'],
      ['z', '⠵'],

      ['\\.', '⠲'],
      [',', '⠂'],
      ['\\?', '⠦'],
      [';', '⠆'],
      ['!', '⠖'],
      ['<', '⠦'],
      ['>', '⠴'],
      ['\\[', '⠶'],
      ['-', '⠤'],
      ["'", '⠄'],
    ];

    function checkCompatibilty() {
      if (!('speechSynthesis' in window)) {
        alert('Your browser is not supported. If google chrome, please upgrade!');
      }
    };
    checkCompatibilty();

    var chapters = document.querySelectorAll('.myText');
    var brailleResult = document.querySelectorAll(".brailleResult");
    var recognition = new webkitSpeechRecognition();
    recognition.continuous = true;
    recognition.interimResults = false;
    recognition.maxAlternatives = 1;
    recognition.onresult = handleRecognition;
    recognition.start();
    var book = new SpeechSynthesisUtterance();
    book.onend = resetRecognition;
    book.default = false;
    var voiceselect = window.speechSynthesis.getVoices();
    book.voice = voiceselect.filter(function(voice) {
      return voice.name == 'Google UK English Male';
    })[0];
    book.lang = 'en-EN';
    book.volume = 1;
    book.rate = 1;
    book.pitch = 1;

    function textToBraille(chapter) {
      return Array.prototype.map.call(chapter, function(text) {
        var result = braille.find(([key, prop]) => text === key);
        return result && result[1] || text
      }).join("")

    }

    function handleRecognition(event) {
      recognition.stop();
      var chapter = event.results[event.results.length - 1][0].transcript.trim();
      console.log(chapter);
      for (var i = 0; i < chapters.length; i++) {
        if (JSON.parse(chapters[i].dataset.chapter).some(function(ch) {
            return ch === chapter
          })) {
          speak(chapters[i].value);
          brailleResult[i].innerHTML = textToBraille(chapters[i].value)
        }
      }
    }

    function resetRecognition() {
      recognition.start();
    }

    function speak(chapter) {
      book.text = chapter;
      window.speechSynthesis.speak(book);
    };
  </script>


</body>

</html>