0

次の構造のペイロードを受信しようとしています:

MIME マルチパート コンテンツを含む HTTP POST 要求メッセージ。

  1. 最初の部分は、呼び出しメタデータをカバーする JSON 形式です。

  2. 2 番目の部分は、16 ビット PCM としてエンコードされたウェーブ オーディオです。

以下のコードを書きました。しかし、受信したオーディオは破損しており、ノイズが多く含まれています。傍受した音声ファイルをwireshark経由でダウンロードして聞いてみたところ、送信された音声が判読できることを確認できたので、リクエストデータ(MIME)の扱いが悪いのだと思います。

app.post('/export-call', handler(async (req, res) => {
    const body = req.body;
    console.log('req:', Object.keys(req.body));
    //logger.info(JSON.stringify(req.body));
    connectToDb();
    if (body.metadata && body.media_audio_wav) {
        const metadataParse = JSON.parse(body.metadata)
        const metadataObj = metadataParse.metadata
        const tempLocation = "/opt/sa/exportBrokerTesting/"
        const audio = body.media_audio_wav
        const audioBinary = new Buffer(audio, 'binary');
        wav.fromScratch(2, 8000, '16', audioBinary, 'binary');
        fs.writeFileSync(tempLocation + metadataObj.callId.toString() + '.wav', audioBinary);
    } else {
        logger.info('Metadata/ Audio is undefined')
        res.sendStatus(204)
    }
}))
4

0 に答える 0