gpt4 book ai didi

node.js - 如何在 Node.JS 中删除调用者在 Twilio 中所做的最后(最近)录音

转载 作者:搜寻专家 更新时间:2023-10-31 23:50:42 25 4
gpt4 key购买 nike

我有一个功能可以让你录音,如果你不满意就删除你的录音。您可以按 * 删除最后的录音。

我的录音代码是:

exports.handler = function(context, event, callback) {
const twiml = new Twilio.twiml.VoiceResponse();
twiml.say('Welcome! Please record your announcement after the beep!');
twiml.say('After your recording, hang up if you are satisfied or press star to delete the newest recording.');
twiml.record({
finishOnKey: '*',
recordingStatusCallback: '/delete',
action: '/delete'
});

callback(null, twiml);
};

删除最后一条录音的代码(/delete):

exports.handler = function(context, event, callback) {

const twiml = new Twilio.twiml.VoiceResponse();
const id = event.RecordingSid;
console.log(id);
console.log(typeof id);
const accountSid = 'AC1775ae53d952710bb1b4e47ea19c009c';
const authToken = {my_token};
const client = require('twilio')(accountSid, authToken);

client.recordings(id)
.remove(function(err, data) {
if (err) {
twiml.say("there is an error");
console.log(err.status);
throw err.message;
} else {
console.log("deleted successfully.");
twiml.say("deleted successfully");
}
})
.then(recording => console.log(recording.sid))
.done();
twiml.say('Your announcement is deleted');

callback(null, twiml);
};

现在,我得到了正确的 ID,没有错误,但是当我检查录音日志时,录音仍然存在。这是为什么?我需要给它一些时间让它删除吗?
来自 console.log(recording.sid) 的日志也没有显示,我不确定为什么它没有执行应该删除录音的整个代码块。
提前致谢!

最佳答案

此处为 Twilio 开发人员布道师。

当您设置 recordingStatusCallback/delete以及 action你的<Gather> , 然后 Twilio 将尝试两次调用 /delete ;录制完成时一次,用户响应 <Gather> 时一次。 .

recordingStatusCallback旨在与调用本身异步工作,所以我将专注于 action相反。

录制完成后(用户按 *),Twilio 将向 <Record> 发出请求action属性。在该请求中,作为请求正文的一部分,您将收到 RecordingURL。 (即使录制状态尚未完成)。你应该通过这个 RecordingURL通过 <Gather> 的结果(或将其存储在 session 中)并使用它来执行 DELETE如果您需要删除录音,请请求或提取录音 SID 以用于 Twilio Node 模块。

这有什么帮助吗?

关于node.js - 如何在 Node.JS 中删除调用者在 Twilio 中所做的最后(最近)录音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50573116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com