2016-02-25 46 views
0

我正在查看一些旨在用于Web浏览器的API。他们需要包含他们的.js代码,然后向您呈现一个返回音频的API。这些API以更一般的方式重述,这些API返回浏览器播放的一些字节流(在这种情况下是音频)。我可以使用某些客户端JavaScript API服务器端吗?

这种类型的API可以用于服务器端Javascript框架,例如:节点,我在哪里进行API调用,并在一些变量中捕获生成的二进制数据?我不确定我知道如何将浏览器中正在进行的语义映射到服务器端解决方案。

下面是一个例子任意http://responsivevoice.org/api/

您包括他们中的JavaScript功能页,然后调用sampleLibrary.speak("hello world");。这会导致音频回到播放的浏览器。

+0

哪里可以调用API的代码?问题应该有代码 –

+0

@JuanMendes我更新了问题。 – Robert

+0

如果您发现或编写一个库,可以使用它来复制您使用的JS所依赖的任何浏览器提供的功能。 – Quentin

回答

1

通常为浏览器创建的许多JavaScript都可以运行,但是您必须模拟许多浏览器功能。

我看了一下你连接到的图书馆。美化它,并对其进行一些更改以使其成为节点模块。那么你必须模拟navigator.userAgentwindowdocument

对于文档库使用的是addEventListener。嘲笑那些我得到RV: Voice synthesis not supported。图书馆使用Web Speech APIWindow.speechSynthesis。这是不可能的。

但它具有备用功能,即通过createElement插入AUDIO标签。然后您将获得生成的音频文件的网址。然后,您可能可以下载这些内容并在您的服务器上执行您想要执行的操作。

+0

你实际上已经创建了一个节点模块?哇。所以,如果我正确地理解了你,本地实现*不*使用HTML 5音频标记,而是像你说的那样使用Web Speech API和Window.speechSynthesis。此外,如果我理解正确,如果浏览器不支持Web Speech或speechSynthesis,它将动态呈现HTML 5

+1

@罗伯特:是的。使用'createElement',然后调用'load'然后'play'就可以了。 – bolav

相关问题