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_audio3ffmpeg / libavについてはよくわかりませんが、audio4は、バッファーを渡す代わりに、libavのバッファーシステムを使用していると思います。

たぶん、この差分はaudio4の使い方のヒントを与えるでしょう:

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

于 2012-01-13T16:31:58.500 に答える