Вход Регистрация
Файл: library/wysihtml5/src/toolbar/speech.js
Строк: 107
<?php
/**
 * Converts speech-to-text and inserts this into the editor
 * As of now (2011/03/25) this only is supported in Chrome >= 11
 *
 * Note that it sends the recorded audio to the google speech recognition api:
 * http://stackoverflow.com/questions/4361826/does-chrome-have-buil-in-speech-recognition-for-input-type-text-x-webkit-speec
 *
 * Current HTML5 draft can be found here
 * http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html
 * 
 * "Accessing Google Speech API Chrome 11"
 * http://mikepultz.com/2011/03/accessing-google-speech-api-chrome-11/
 */
(function(wysihtml5) {
  var 
dom wysihtml5.dom;
  
  var 
linkStyles = {
    
position"relative"
  
};
  
  var 
wrapperStyles = {
    
left:     0,
    
margin:   0,
    
opacity:  0,
    
overflow"hidden",
    
padding:  0,
    
position"absolute",
    
top:      0,
    
zIndex:   1
  
};
  
  var 
inputStyles = {
    
cursor:     "inherit",
    
fontSize:   "50px",
    
height:     "50px",
    
marginTop:  "-25px",
    
outline:    0,
    
padding:    0,
    
position:   "absolute",
    
right:      "-4px",
    
top:        "50%"
  
};
  
  var 
inputAttributes = {
    
"x-webkit-speech""",
    
"speech":          ""
  
};
  
  
wysihtml5.toolbar.Speech = function(parentlink) {
    var 
input document.createElement("input");
    if (!
wysihtml5.browser.supportsSpeechApiOn(input)) {
      
link.style.display "none";
      return;
    }
    var 
lang parent.editor.textarea.element.getAttribute("lang");
    if (
lang) {
      
inputAttributes.lang lang;
    }

    var 
wrapper document.createElement("div");
    
    
wysihtml5.lang.object(wrapperStyles).merge({
      
width:  link.offsetWidth  "px",
      
heightlink.offsetHeight "px"
    
});
    
    
dom.insert(input).into(wrapper);
    
dom.insert(wrapper).into(link);
    
    
dom.setStyles(inputStyles).on(input);
    
dom.setAttributes(inputAttributes).on(input);
    
    
dom.setStyles(wrapperStyles).on(wrapper);
    
dom.setStyles(linkStyles).on(link);
    
    var 
eventName "onwebkitspeechchange" in input "webkitspeechchange" "speechchange";
    
dom.observe(inputeventName, function() {
      
parent.execCommand("insertText"input.value);
      
input.value "";
    });
    
    
dom.observe(input"click", function(event) {
      if (
dom.hasClass(link"wysihtml5-command-disabled")) {
        
event.preventDefault();
      }
      
      
event.stopPropagation();
    });
  };
})(
wysihtml5);
?>
Онлайн: 1
Реклама