以下のコードを使用してサウンド ファイルを ogg vorbis に変換しましたが、常に 128 kb/s に設定されている出力ファイルのビットレートを設定する方法が libsndfile のドキュメントにありません。libsndfile で生成された出力ファイルのビットレートを変更することはできますか?
#include <sndfile.hh>
#define BUFFER_LEN 4096
void convert(char *infilename, char *outfilename)
{
static double data[BUFFER_LEN];
SNDFILE *infile, *outfile;
SF_INFO sfinfo;
int readcount;
infile = sf_open(infilename, SFM_READ, &sfinfo);
sfinfo.format = SF_FORMAT_OGG | SF_FORMAT_VORBIS;
outfile = sf_open(outfilename, SFM_WRITE, &sfinfo);
while ((readcount = sf_read_double(infile, data, BUFFER_LEN)))
{
sf_write_double(outfile, data, readcount);
}
sf_close(infile);
sf_close(outfile);
}