Я пытаюсь обработать аудиофайл в памяти с помощью 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;
}
Задача ещё не решена.
Других решений пока нет …