Twilio SSML 使用运行时函数
Twilio SSML Using Runtime Functions
我正在尝试在 Twilio 运行时函数中使用 Say-verbs 添加 SSML 文本。
let twiml = new Twilio.twiml.VoiceResponse();
twiml.say('<prosody rate="-15%">Hello World</prosody>');
以上代码在呈现时生成编码文本。有没有办法让 Twilio 接受不编码的文本?
<prosody rate='-15%'>Hello World</prosody>
我知道 Say 对象中的 ssml 方法,但是它们相当麻烦,将标签作为 Say-String 的一部分编写会更容易。
此处为 Twilio 开发人员布道师。
say
方法(和其他 TwiML 方法)旨在使编写 XML 响应变得更容易,而无需您自己手写和编码 XML。因此,这些辅助方法将转义输入。目前没有办法让库不转义输入,我建议使用 SSML 助手。
如果你真的不想使用助手,那么你也可以手写<Response>
和<Say>
。确保 return a Twilio.Response
object 设置正确 headers。
exports.handler = function(context, event, callback) {
const twiml = `
<Response>
<Say>
<prosody rate="-15%">Hello World</prosody>
</Say>
</Response>
`;
const response = new Twilio.Response();
response.setBody(twiml);
response.appendHeader('Content-Type', 'application/xml');
callback(null, response);
}
Javascript
const Twilio = require('twilio');
const response = new Twilio.twiml.VoiceResponse();
const say = response.say();
say.ssmlProsody({ rate: '15%' }, 'Hello World');
console.log(response.toString());
XML
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>
<prosody rate="15%">Hello World</prosody>
</Say>
</Response>
我正在尝试在 Twilio 运行时函数中使用 Say-verbs 添加 SSML 文本。
let twiml = new Twilio.twiml.VoiceResponse();
twiml.say('<prosody rate="-15%">Hello World</prosody>');
以上代码在呈现时生成编码文本。有没有办法让 Twilio 接受不编码的文本?
<prosody rate='-15%'>Hello World</prosody>
我知道 Say 对象中的 ssml 方法,但是它们相当麻烦,将标签作为 Say-String 的一部分编写会更容易。
此处为 Twilio 开发人员布道师。
say
方法(和其他 TwiML 方法)旨在使编写 XML 响应变得更容易,而无需您自己手写和编码 XML。因此,这些辅助方法将转义输入。目前没有办法让库不转义输入,我建议使用 SSML 助手。
如果你真的不想使用助手,那么你也可以手写<Response>
和<Say>
。确保 return a Twilio.Response
object 设置正确 headers。
exports.handler = function(context, event, callback) {
const twiml = `
<Response>
<Say>
<prosody rate="-15%">Hello World</prosody>
</Say>
</Response>
`;
const response = new Twilio.Response();
response.setBody(twiml);
response.appendHeader('Content-Type', 'application/xml');
callback(null, response);
}
Javascript
const Twilio = require('twilio');
const response = new Twilio.twiml.VoiceResponse();
const say = response.say();
say.ssmlProsody({ rate: '15%' }, 'Hello World');
console.log(response.toString());
XML
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>
<prosody rate="15%">Hello World</prosody>
</Say>
</Response>