0

Node.js から wav ストリームを受信したい (アドオンで)。次のように実装されます。

readableStream.on('data', function(chunk) {
    var obj1 = addon.buffering(chunk);//my addon
});

しかし、今はこの情報をバッファリングして、元の wav のコピーを作成したいと考えています。これまでのところ、新しいファイルにバイトを入力することはできません。

void buffering(const FunctionCallbackInfo<v8::Value>& args) {
  Isolate* isolate = Isolate::GetCurrent();
  HandleScope scope(isolate);

  Local<Object> bufferObj = args[0]->ToObject();
  char *buf = node::Buffer::Data(bufferObj);
  if (i == 0){ fp = fopen("copy.wav", "wb"); i++;}

  fwrite(buf, 1, sizeof(buf), fp);
  fflush(fp);
  if (i == 3){ fclose(fp); }
  i++;

  Local<String> devolve = String::NewFromUtf8(isolate, "buffering_success");//C++--->JS
  args.GetReturnValue().Set(devolve);
}

理由はわかりませんが、sizeof(buf)常に小さすぎます。そのせいだと思います。

4

1 に答える 1