本文介绍了写沉默音频数据转换成文件的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 ++的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 00:49