1

我想使用 Google text-speech API 让我的用户在文本控件中输入文本,然后单击一个按钮,将文本发送到我的 Rails 服务器,在那里它将使用 Google TextToSpeach API 创建一个 mp3 文件那个演讲的。

Google API 看起来非常易于使用:https ://cloud.google.com/text-to-speech/docs/create-audio

在传统的 Rails 应用程序中,我会编写一个 API 来传递要转录的文本,并希望 API 调用返回为用户下载而创建的 MP3 文件的路径。

似乎Hyperstack 同构操作将是正确的方法,但是我如何确保操作仅在服务器上而不是在客户端上运行,以及如何获得操作的输出值(即创建的文件)所以我可以在浏览器中显示它供用户下载吗?

我应该强调,我只需要 Google API 在服务器上创建音频文件(而不是播放它)。然后用户将下载创建的文件以便自己使用。

4

1 回答 1

0

在这里,手术不会对您有所帮助。为什么?

因为除非你知道我不知道的技巧,否则播放音频文件而无需大量额外工作的唯一方法是将 HTML 音频标签的源指向服务器上的 url。

然后,这很容易通过标准的 rails 控制器方法完成,该方法从 URL 参数解码字符串并在响应正文中返回 mp3 文件。

例如 /utils/text2speech.mp3?text=Hello%020There 只会返回 MP3 文件。

但是,为了完全回答您的问题,Hyperstack::ServerOp该类是 Operation 的子类,仅在服务器上运行,但可以从客户端调用。

太糟糕了,它在这里没有帮助:-)

于 2019-04-09T22:45:51.567 回答