gpt4 book ai didi

c - 将原始音频写入文件?

转载 作者:太空宇宙 更新时间:2023-11-04 03:45:11 25 4
gpt4 key购买 nike

我正在用 C 语言为 freeswitchpocketsphinx 模块编写一段代码,以将话语(波形或音频)保存到文件中。我收到的音频是 void *data 及其 unsigned int len,我必须将其保存为 RAW(或 PCM ) 文件(无标题)。我该怎么做?

我已经试过了:

FILE *_file;
int16_t *_data;
_data = (int16_t *) data;
_file=fopen("utterance","ab");
fwrite(data, sizeof(_data[0]), sizeof(_data)/sizeof(_data[0]), _file);
fclose(_file);
_file=NULL;

它不起作用(也许我做的不对?)。我还找到了 libvlclibsndfile 但没有找到任何适合我的函数。这里有人有这方面的简单示例/教程吗?

我正在使用 C、VS2010、Win8.1 (x64)

最佳答案

当 _data 是指针时,你不应该使用 sizeof(_data)/sizeof(_data[0])sizeof(_data) 是指针_data占用多少字节

size_t valueCount = sampleCount * channelCount;
FILE *_file;
int16_t *_data;
_data = (int16_t *) data;
_file=fopen("utterance","ab");
fwrite(data, sizeof(_data[0]), valueCount, _file);
fclose(_file);
_file=NULL;

你也可以用

fwrite(data, 1, len, _file);

关于c - 将原始音频写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25186130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com