1

libmpg123 ソース内good_encのファイル内の関数から。format.c指定されたエンコーディングが現在のビルドでサポートされているかどうかを確認するために使用されます。

次の画像は、デバッグ セッションから取得したもので、(enc == 512、に相当MPG123_ENC_FLOAT_32) 32 ビット浮動小数点エンコーディングがサポートされているかどうかを確認します。

ここに画像の説明を入力

画像に見られるように、私のビルドは何らかの理由で 32 ビット浮動小数点エンコーディングをサポートしていません。

ソースコードをダウンロードしてそのままコンパイルして、Windows 7 x64 Home Premiumでこれを実行しています。

見逃した構成はありますか? サイトのドキュメントから、それは

mpg123-1.7.0 からは 32bit float が通常になります。

バージョン 1.14.4 を使用しています

4

1 に答える 1

2

あなたの1.14.4バージョンがすでにフローティングポイントをサポートしているかどうかはわかりません-前回、それが最後のsvnトランク「のみ」でサポートされていることに気づきました。

だから多分そこから引っ張ってもう一度コンパイルしてください。

とにかく、デフォルトのソースには、フローティングポイントを強制的に有効にするための「安価なハック」が含まれています。

 /* Simple hack to enable floating point output. */
if(argc >= 4 && !strcmp(argv[3], "f32")) mpg123_param(mh, MPG123_ADD_FLAGS, MPG123_FORCE_FLOAT, 0.);

ここに見られるように:http ://www.mpg123.de/api/mpg123_から_wav_8c_source.shtml

于 2013-01-22T06:49:44.403 に答える