在iPhone上使用FFMPeg解码WMA

时间:2012-01-10 20:24:07

标签: objective-c ffmpeg core-audio libav

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

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

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

1 个答案:

答案 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