0

我正在使用此功能解码音频,但没有声音:

int decodedBytes;
decodedBytes = avcodec_decode_audio4(myData->pCodecCtx, myData->myFrame, &data_size, &myData->pkt);

数据下载成功,但是我不知道从哪里开始,因为根本没有声音。

4

1 回答 1

3

如果您使用avcodec_decode_audio3它代替它接缝工作:

decodedBytes = avcodec_decode_audio3(myData->pCodecCtx, samples, &data_size, &myData->pkt);

但是您可能应该将avcodec_decode_audio4其用作avcodec_decode_audio3要弃用的接缝。我对 ffmpeg/libav 了解不多,但我猜想 audio4 使用 libav 中的缓冲区系统,而不是您传入缓冲区。

也许这个差异会提示如何使用audio4:

http://git.libav.org/?p=libav.git;a=commitdiff;h=f199f38573c4c02753f03ba8db04481038fa6f2e

于 2012-01-13T16:31:58.500 回答