質問

この関数を使用してオーディオをデコードしていますが、音はありません。

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のバッファシステムを使用していると思います。

たぶん、このdiffは、audio4の使用方法をヒントに与えるでしょう:

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top