我正在使用此功能解码音频,但没有声音:
int decodedBytes;
decodedBytes = avcodec_decode_audio4(myData->pCodecCtx, myData->myFrame, &data_size, &myData->pkt);
数据已成功下载,但我不知道从哪里开始,因为根本没有声音。
答案 0 :(得分: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