Я разработал nodejs-клиент, который заменяет Javaclient с образцом кода AVS (Alexa Voice Service).
Используемый код выполняет почтовый запрос и направляет вывод mp3 в файл. Но много раз вывод мп3 не полный и ломается с конца, а иногда и с начала. Так, например. желаемая продолжительность mp3-файла составляет 9 секунд, иногда выходной файл имеет длину 8 или 6 секунд или полный 9 секунд.
Его случайное поведение.
Код, используемый для запроса API и перенаправления o/p в файл, приведен ниже. Дайте мне знать, что здесь не так, я новичок в запросе трубопроводов.
var options = {
url: 'https://access-alexa-na.amazon.com/v1/avs/speechrecognizer/recognize',
headers:{
'Content-Type':'multipart/form-data',
'Transfer-Encoding':'chunked'
},
formData: formData
};
var destination = fs.createWriteStream(path.join(__dirname,outputfile));
//request.debug = 1;
request.post(options, function optionalCallback(err, httpResponse, body) {
//console.log(httpResponse);
if(body.length < 100){
console.log(body);
}
console.log("\n\r----Processing Done to ("+outputfile+")----");
if(loadingInt!=null)clearInterval(loadingInt);
process.exit();
if (err) {
return console.error('upload failed:', err);
}
//console.log('Upload successful! Server responded with:', body);
}).auth(null, null, true, token)
.pipe(destination);
Я обсуждал это с ребятами из AVS, но они рассказали о проблеме с кодом и API.