Как воспроизвести аудиофайл из S3 Bucket в функции AWS Lambda с помощью Node.js? - PullRequest
0 голосов
/ 18 декабря 2018

У меня 12 коротких (3 секунды) аудиофайлов, хранящихся в корзине S3.Я пытаюсь разработать приложение Alexa, в котором вы можете сказать «play (имя звука)», и оно будет воспроизводить один из этих аудиофайлов.Я уже создал свое приложение alexa, я создал свою лямбда-функцию aws, однако я не уверен, как извлечь и воспроизвести аудиофайл из моей корзины S3 через мою лямбда-функцию AWS.У кого-нибудь есть идеи как это сделать?Я довольно новичок в Node.js, AWS, S3 Buckets.

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

То, что вы делаете, направляет ваши речевые ответы на s3 uri, который, как упомянуто в комментариях, должен иметь публичный доступ, тогда вы будете создавать свои ответы для воспроизведения звука, а ваш ответ будет использовать ssml-теги.

    <speak> <audio src="   "</speak> 

ваш s3 URL аудиоклипа, идущий между "".Документация, если вы застряли здесь: https://developer.amazon.com/docs/custom-skills/speech-synthesis-markup-language-ssml-reference.html#audio

0 голосов
/ 19 декабря 2018

Вот документация для аудиоплеера:

https://developer.amazon.com/docs/custom-skills/audioplayer-interface-reference.html

Как сказал Брэд, если он общедоступен, вы можете использовать URL в соответствии с инструкциями в этой документации.Есть встроенные намерения для обработки таких вещей, как «пропуск» и «остановка», и вы можете использовать методы AudioPlayer для обработки фактического воспроизведения аудио:

AudioPlayer.Play: отправляет Alexa команду для потоковой передачиаудиофайл, идентифицированный указанным audioItem.

AudioPlayer.Stop: останавливает любой воспроизводимый в данный момент аудиопоток.

AudioPlayer.ClearQueue: очищает очередь всех аудиопотоков.

По существу, вы напишете некоторую логику в вашей лямбда-функции, чтобы направить сеанс в желаемый обработчик намерений, и будете использовать эти методы вместе с объектом, указывающим на ваш URL.

...