我想使用谷歌文本-语音API让我的用户在文本控件中键入文本,然后单击一个按钮,该按钮将把文本发送到我的Rails服务器,在那里它将使用谷歌TextToSpeach API来创建该语音的mp3文件。
Google API看起来非常容易使用:https://cloud.google.com/text-to-speech/docs/create-audio
在传统的Rails应用程序中,我会编写一个API来传递要转录的文本,并期望该API调用返回为用户下载而创建的MP3文件的路径。
似乎Hyperstack Isomorphic Operations将是正确的方法,但我如何确保操作只在服务器上运行,而不是在客户端,我如何获得操作的输出值(即创建的文件),以便我可以在浏览器中显示它供用户下载?
我应该强调的是,我只需要Google API在服务器上创建音频文件(而不是播放它)。然后,用户将下载创建的文件,以便自己使用。
发布于 2019-04-10 06:45:52
在这里,操作不会对您有所帮助。为什么?
因为除非你知道一个我不知道的窍门,否则播放音频文件的唯一方法就是将HTML音频标签的来源指向服务器上的一个url。
这很容易通过一个标准的rails控制器方法完成,该方法从URL参数中解码字符串,并在响应主体中返回mp3文件。
例如/utils/text2talk.mp3?text=Hello%020将只返回MP3文件。
不过,为了完整地回答您的问题,Hyperstack::ServerOp类是Operation的子类,它只在服务器上运行,但可以从客户端调用。
太糟糕了,这里没有帮助:-)
https://stackoverflow.com/questions/55597847
复制相似问题