Alexa - Ruby - 播放音频文件

Alexa - Ruby - Playing Audio Files

我正在尝试通过 Alexa 播放音频文件。我的后端在 Rails Ruby 中,我正在使用 alexa-ruby gem.

我能够通过这样的提问和讲述指令来发表演讲

def index
    parsed_request = JSON.parse(request.body.read)
    alexa = AlexaRuby.new(parsed_request)
    speech = "Hey there! I am alexa"
    response = alexa.response.ask!(speech)
    render json: response
end

当我尝试播放音频时,没有任何反应。这就是我尝试做的

def index
    parsed_request = JSON.parse(request.body.read)
    alexa = AlexaRuby.new(parsed_request)
    params = { url: 'https://s3.amazonaws.com/my-ssml-samples/Flourish.mp3', token: 'flourish-token', offset: 0 }
    response = alexa.response.add_audio_player_directive(:start, params)
    render json: response
end

因此,根据您尝试播放的音频类型,您可能需要尝试不同的策略。音频播放器指令更适合播放类似流的内容,并提供暂停、倒带等类型的控件。如果您创建音乐播放器或播放播客等长格式音频文件,将使用它。

从你的例子来看,你似乎只是想播放一个简单的 mp3。您可以使用与使用 SSML 进行演讲完全相同的方式来完成此操作。

例如:

def index
parsed_request = JSON.parse(request.body.read)
alexa = AlexaRuby.new(parsed_request)
speech = "<speak>
  Welcome to Ride Hailer. 
  <audio     src="soundbank://soundlibrary/transportation/amzn_sfx_car_accelerate_01" /> 
You can order a ride, or request a fare estimate. 
Which will it be?</speak>" 
response = alexa.response.ask!(speech)
render json: response
end

您可以在此处找到更多信息

https://developer.amazon.com/en-US/docs/alexa/custom-skills/speech-synthesis-markup-language-ssml-reference.html