小编vin*_*nni的帖子

通过节点将浏览器麦克风流连接到 Google Speech Api

我刚刚开始使用 node.js,并尝试将浏览器生成的麦克风流与在我的节点服务器和包上运行的 google 语音 api 连接起来microphone-stream

我成功地用 browserify 打包了必要的模块,但现在不知道如何继续。我也让麦克风流正常工作node server(如此处所述:音频流上的流式语音识别)。

如何传输音频流?我在一期中读到有关使用 websockets 的内容,但并没有真正理解这对我来说是否是正确的方法。还是RPC?

现在我在服务器上使用这些包:

const express = require('express');
const path = require('path');
const bodyParser = require('body-parser');
const fs = require('fs');
const record = require('node-record-lpcm16');
const google = require('googleapis');
const getUserMedia = require('get-user-media-promise');
const MicrophoneStream = require('microphone-stream');
Run Code Online (Sandbox Code Playgroud)

这是我第一次使用节点/服务器,所以希望这个问题不是太天真。谢谢!:)

google-api stream node.js getusermedia

4
推荐指数
1
解决办法
2116
查看次数

正则表达式只匹配精确的单词

我使用以下函数为某些单词提供类名:

$.fn.wrapInTag = function(opts, color) {

  var tag = opts.tag || 'span'
    , words = opts.words || []
    , regex = RegExp(words.join('|'), 'gi') // case insensitive
    , replacement = '<'+ tag + ' class="' + color +'">$&</'+ tag +'>';

  return this.html(function() {
  return $(this).html().replace(regex, replacement);
});
};
Run Code Online (Sandbox Code Playgroud)

问题是它例如在匹配冗余。我怎样才能让它只匹配确切的单词(红色但不多余)?我做了一些研究,发现我需要做这样的事情:

(\w+)
Run Code Online (Sandbox Code Playgroud)

但我不知道在gi旁边添加它的位置

我要运行以添加到单词的函数是:

<p>Only one redundant word is red</p>

$('p').wrapInTag({
      tag: 'span',
      words: ['red']
}, 'blue');
Run Code Online (Sandbox Code Playgroud)

谢谢

javascript regex

2
推荐指数
1
解决办法
6402
查看次数

标签 统计

getusermedia ×1

google-api ×1

javascript ×1

node.js ×1

regex ×1

stream ×1