2

mp3 オーディオ データを pcm にデコードする必要があります。mp3 ヘッダーで始まるデータがあります。Api-example.c が機能しない、出力がおかしい:

ここに画像の説明を入力

コマンドffmpeg -i input.mp3 output.wav は素晴らしいです、これは私が必要なものです。しかし、コードでそれを行う方法を見つけることができません。ffmpegライブラリを使用したチュートリアルがどこにあるか、誰か知っていますか? ありがとう

編集 2.7.13:

こんにちは、ffmpeg からオーディオ デコードのサンプル メソッドを再構築しましたが、おそらくここに問題があります。

len = avcodec_decode_audio4(avCodecContext,avFrame, &got_frame,&avPacket);    
int data_size = av_samples_get_buffer_size(NULL,avFrame->channels,avFrame->nb_samples,AV_SAMPLE_FMT_S16P,1);

data_size は、デコーダーからのデータ フレームのサイズです。チャンネル数、データ サンプル数、およびデータ タイプによって異なります (私のデータは、mp3 フレームの 1152 サンプルに mp3 にエンコードされた 16 ビット PCM ステレオです)。

出力ファイルを audacity で開いた場合、正しい出力を与える正しいパラメーターは、ステレオ (正しい)、8 ビット pcm (間違っている)、およびハーフ サンプル レート (これも間違っている) ですが、何が起こったのでしょうか?

エンコード前データ:16bit PCM 44100Hz、ステレオ

デコード後のデータ: 8bit PCM 22050Hz, ステレオ ---> ???!!!

私はこれに疲れている....

4

1 に答える 1