如何使用firebase函数在对话框流上播放音频文件

问题描述 投票:3回答:2

我有自己的服务器,上传音频文件。 www.theislam360.me:8080/hbd.mp3我想使用firebase功能在google home上播放这个音频。

const functions = require('firebase-functions');
var request1 = require('request')
exports.webhook = functions.https.onRequest((request, response) => {

        console.log("request.body.result.parameters: ", request.body.result.parameters);

        let params = request.body.result.parameters;

        var options = {
            url: `https://theislam360.me/${params.any}`+".mp3",
            json:true
        }
        request1(options, function(error, res, body){
            if(error) response.send({speech: "error in API call"});
            else response.send({speech: "<speak>This is the audio <audio>www.theislam360.me:8080/hbd.mp3</audio></speak>"});
        });
    });

我在对话框流程实现时收到内部服务器错误。这是firebase日志。 enter image description here

google-cloud-functions dialogflow
2个回答
2
投票

错误

无法读取未定义的属性“参数”

告诉你,request.body.result未定义,这意味着request.body对象上没有名为“result”的属性。尝试仔细检查您要查找的参数是否确实在request.body.result对象中。


2
投票

就这么简单

const functions = require('firebase-functions');

exports.webhook = functions.https.onRequest((request, response) => {
    response.send({speech:`<speak>Welcome to my action! <audio src="https://theislam360.me:8080/hbd.mp3"></audio> How can I help you?</speak>`})
});

请注意,服务器应该是https,音频文件存储在。

© www.soinside.com 2019 - 2024. All rights reserved.