How to play a base64 response from Google Text to Speech as an mp3 audio in browser using Javascript(如何使用Java脚本在浏览器中将从Google文本到语音的Base64响应作为mp3音频播放)
问题描述
我编写此代码是为了在单击按钮时播放音频,但我无法使其工作。 谷歌文档在处理回复方面帮不上忙。 有谁能帮帮忙吗?
async function playVoiceover() {
const url ='https://texttospeech.googleapis.com/v1/text:synthesize?key=XXXXXXX'
const rawResponse = await fetch(url, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
'input':{
'ssml':`<speak>The <say-as interpret-as="characters">SSML</say-as>
standard <break time="1s"/>is defined by the
<sub alias="World Wide Web Consortium">W3C</sub>.</speak>`
},
'voice':{
'languageCode':'en-us',
'name':'en-US-Standard-B',
'ssmlGender':'MALE'
},
'audioConfig':{
'audioEncoding':'MP3'
}
})
});
const content = await rawResponse.json();
const mp3 = 'data:audio/mp3;base64,'+window.atob(content.audioContent)
const audio = new Audio(mp3);
audio.play();
}
推荐答案
我将此答案作为有关此案例的信息留给社区:
window.atob()
方法的作用是:对base-64编码的字符串进行解码。
texttospeech.googleapis.com(响应结构)
{";audioContent&Quot;:字符串} //Base64编码的字符串。
在使用编解码器结构格式化mp3字符串时,不需要对其进行解码。您可以看到类似的回复here。
有关exttospeech接口响应的其他详细信息:
- text-to-speech -> synthesize -> response-body
这篇关于如何使用Java脚本在浏览器中将从Google文本到语音的Base64响应作为mp3音频播放的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用Java脚本在浏览器中将从Google文本到语音的Base64响应作为mp3音频播放
基础教程推荐
- 即使每次插入第一个输入的值不同,第二个输入仍显示相同的输入值 2022-01-01
- 逻辑运算符 ||在 javascript 中,0 代表 Boolean false? 2022-01-01
- 从快速中间件中排除路由 2022-01-01
- 当木偶师打开Chrome时,不能使用Chrome扩展 2022-01-01
- 带角度的选项卡:仅使用 $http 在单击时加载选项卡 2022-01-01
- 最佳动态 JavaScript/JQuery 网格 2022-01-01
- HTML5 画布调整为父级 2022-01-01
- 使用 jQuery 在悬停时交换 DIV 类 2022-01-01
- 在 Javascript 中使用 Fetch API 上传文件并显示进度 2022-01-01
- CORS:当凭据标志为真时,无法在 Access-Control-Allow-Origin 中使用通配符 2022-01-01
