Воспроизведение аудио прямо из папки Lambda / tmp - PullRequest
1 голос
/ 22 марта 2019

В настоящее время я создаю приложение Alexa в Node с помощью Lambda. У меня есть необходимость конвертировать и объединять несколько аудио файлов. В настоящее время я создаю аудиофайл, используя Google Text-to-Speech (длинный рассказ о необходимости этого), который я пишу в / tmp, и извлекаю аудиофайл из s3, который я также пишу в / tmp. Затем я использую sox для объединения двух файлов (см. Ниже) и записи обратно на S3 (в настоящее время общедоступный), который я затем жестко запрограммировал для воспроизведения этого конкретного клипа.

У меня вопрос: возможно ли воспроизводить аудио прямо из папки / tmp, а не записывать файл обратно на S3.

await lambdaAudio.sox('-m /tmp/google-formatted.mp3 /tmp/audio.mp3 /tmp/result.mp3')

// get data from resulting mp3
const data = await readFile('/tmp/result.mp3');
const base64data = new Buffer(data, 'binary');

// put file back on AWS for playing
s3.putObject({
  Bucket: 'my-bucket',
  Key: 'result.mp3',
  Body: base64data,
  ACL:'public-read'
},function (resp) {
  console.log('Done');
});

return`<audio src="https://s3.amazonaws.com/my-bucket/result.mp3" />`;

1 Ответ

0 голосов
/ 23 марта 2019

Я обычно загружаю лямбда-функцию, архивируя код и модули и вообще все файлы, которые требуются моему коду. https://developer.amazon.com/blogs/post/Tx1UE9W1NQ0GYII/Publishing-Your-Skill-Code-to-Lambda-via-the-Command-Line-Interface Поэтому, если вы заархивируете каталог / tmp и опубликуете его как часть своего лямбда-кода, аудиофайл будет доступен вашей лямбда-функции

...