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