В настоящее время я создаю приложение 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" />`;