刚好昨天写了个简单 demo, 微软的 API 用 http 请求就能很方便地调用了呀, (随便写的一个, 很多参数都没有调成动态的)
```js
export function azureSpeak(content) {
const config = {
gender: 'Female',
// speaker: 'ChristopherNeural',
//'Microsoft Server Speech Text to Speech Voice (zh-CN, YunxiNeural)',
speaker: 'zh-CN-XiaoxiaoMultilingualNeural',
content: content
}
return fetch("
https://southeastasia.tts.speech.microsoft.com/cognitiveservices/v1", {
method: "POST",
headers: {
"Ocp-Apim-Subscription-Key": "XXXXXX",
"Content-Type": "application/ssml+xml",
"X-Microsoft-OutputFormat": "audio-16khz-128kbitrate-mono-mp3",
},
body: `<speak version='1.0' xml:lang='en-US'>` +
`<voice xml:lang='en-US' xml:gender='${config.gender}' scenario='Podcast' name='${config.speaker}'>${config.content}`
+ `</voice></speak>`
})
.then(response => response.blob())
.then(blob => {
return window.URL.createObjectURL(blob)
})
.catch(error => {
console.error("Error:", error);
});
}
```