UNPKG

node-red-node-rdk-tools

Version:

配合RDK硬件及TROS使用的Node-RED功能包(Node-RED nodes for using TROS on a RDK hardware and TROS)

54 lines (49 loc) 1.75 kB
<script type="text/x-red" data-template-name="rdk-tools texttoaudio"> <div class="form-row node-input-name"> <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="rdk-texttoaudio.label.name"></span></label> <input type="text" id="node-input-name" data-i18n="[placeholder]rdk-texttoaudio.names.texttoaudio" style="width: 296px;"> </div> </script> <script type="text/javascript"> (function() { var voices; let speakStatus = false; RED.comms.subscribe("text2audio", function(t, o){ var v = o.split('#',2); if ('speechSynthesis' in window && speakStatus === false) { speakStatus = true; voices = window.speechSynthesis.getVoices(); var words = new SpeechSynthesisUtterance(v[1]); words.rate = 0.8; words.lang = 'zh-CN'; window.speechSynthesis.speak(words); words.onend = function(event) { // window.speechSynthesis.cancel(); speakStatus = false; } } else if(speakStatus === false){ alert("Your Browser does not support Text-to-Speech"); } }); RED.nodes.registerType("rdk-tools texttoaudio",{ category: "RDK Tools", color: "#FF804A", defaults: { name: {value:""} }, inputs:1, outputs:0, align: 'right', icon: "tts.svg", paletteLabel: function() { return this._("rdk-texttoaudio.names.texttoaudio"); }, oneditprepare: function() { }, label: function() { return this.name || this._("rdk-texttoaudio.names.texttoaudio"); } }); })() </script>