SOX C++ API を使用してメモリ内のオーディオ ファイルを処理しようとしていますが、最初から動かなくなりました。目標は、ディスクからオーディオ ファイルをロードし、メモリにいくつかのエフェクト (テンポ/ゲイン調整) を適用することです。これが私が始めたコードですが、アウトストリームを作成するときに奇妙なエラーが発生します:
formats: can't open output file `': No such file or directory
ここで何が問題になる可能性がありますか?Macでテストしています。コードは次のとおりです。
#include <iostream>
#include <sox.h>
#include <assert.h>
int main() {
sox_format_t * in, *out;
sox_effect_t * e;
sox_init();
in = sox_open_read("/path/to/file.wav", NULL, NULL, NULL);
sox_format_t *out_format = (sox_format_t *)malloc(sizeof(sox_format_t));
memcpy(out_format, in, sizeof(sox_format_t));
char * buffer;
size_t buffer_size;
out = sox_open_memstream_write(&buffer, &buffer_size, &in->signal, NULL, "sox", NULL);
//chain = sox_create_effects_chain(&in->encoding, &out->encoding);
//e = sox_create_effect(sox_find_effect("input"));
return 0;
}