本文介绍了写沉默音频数据转换成文件的ffmpeg C ++的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想写沉默/零音频采样数据转换成内部的音频数据 MOV
媒体容器文件。我的音频数据G711线性PCM-mulaw连接$ c。与一个通道$ CD数据。目前我的code如下:
I want to write silence/zeroed audio sampled data into mov
media container file inside audio data. My audio data is G711 linear PCM-mulaw encoded data with one channel. Currently my code looks like:
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);
但是,这听起来像噪音 点点的,而不是沉默。有什么问题?
But this sounds noise like dot dot instead of silence. What's the problem?
推荐答案
有关的音频零值重新psented为 0xFF的
$ p $,所以改变:
For µ-law audio the zero value is represented as 0xff
, so change:
memset(&pSilentData->data[0], 0, iDataSize);
到
memset(&pSilentData->data[0], 0xff, iDataSize);
这篇关于写沉默音频数据转换成文件的ffmpeg C ++的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!