将静音音频数据写入文件ffmpeg C ++

时间:2015-08-14 09:32:00

标签: c++ audio ffmpeg mu-law

我想将静音/归零音频采样数据写入音频数据内的mov媒体容器文件中。我的音频数据是带有一个通道的G711线性PCM-mulaw编码数据。目前我的代码如下:

AVFrame* pSilentData = av_frame_alloc();
memset(&pSilentData->data[0], 0, iDataSize);
pkt.data = (uint8_t*) pSilentData;
pkt.size = iDataSize;

// ...

av_freep(&pSilentData->data[0]);
av_frame_free(&pSilentData);

但这听起来像 点点 而不是沉默。问题是什么?

1 个答案:

答案 0 :(得分:4)

对于µ-law音频,零值表示为0xff,因此请更改:

memset(&pSilentData->data[0], 0, iDataSize);

为:

memset(&pSilentData->data[0], 0xff, iDataSize);