1

AVS (Alexa Voice Service) サンプルコードで提供されている Javaclient を置き換える nodejs-client を開発しました。

使用されるコードはポスト リクエストを作成し、出力 mp3 をファイルにパイプします。しかし、多くの場合、出力 mp3 は完全ではなく、最後から、場合によっては最初から壊れています。たとえば、必要な 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の問題について話しました。

4

1 に答える 1

0

問題はprocess.exit()通話です。なぜそれがそこにあるのかまったくわかりません。exitパイプが完了する前に、呼び出しがプロセスを終了することがあります。

于 2016-03-07T05:27:51.730 に答える