php Editor Banana が SDL2_Mixer を使用して音楽を初期化しているときに問題が発生し、レポートに認識できないオーディオ形式が表示されました。この問題は音楽再生機能に影響を及ぼし、ユーザーにご迷惑をおかけする可能性があります。この問題を解決するには、認識されないオーディオ形式の原因を突き止め、適切な修正措置を講じる必要があります。以下では、同様の問題に遭遇した開発者の助けになればと考え、考えられる原因と解決策をいくつか紹介します。
私のアプリケーションは sdl2 を利用して天気データをウィンドウにレンダリングしており、結果のキューからバックグラウンドで音楽を無期限に再生したいと考えています。その部分は完了しましたが、音楽をロードするときに問題が発生します。キューに曲をロードしようとするたびに、「認識できないオーディオ形式」と表示されます。私のコードは次のようになります。
行 277 ~ 280、オーディオとビデオの sdl を初期化するとき。正常に動作します。
リーリー282 行目から 285 行目、ミキサーを初期化するとき。効果もとても良いです。
リーリー行 292 ~ 305 で音楽キューを設定します。こちらも正常に動作します。
リーリーそのすぐ後の行 307 ~ 314 で、キュー内のすべてのファイルをロードしようとしました。ここで問題が発生します。
リーリープログラムに上記のコードがある場合、go はこのコードを出力します。
リーリーffmpegから変換したflacファイルをロードしようとしています。また、mp3 ファイルと wav ファイルを使用してみました (アセット内の初期化フラグとファイルを動作するものに変更することで) が、うまく機能しませんでした。
参考になれば、私が使用しているオペレーティング システムは Windows 11 で、msys2 を使用して go の sdl モジュールが sdl2 ライブラリを利用できるようにしています。また、次のコマンドを使用してコードをコンパイルします。
if err := sdl.init(sdl.init_audio | sdl.init_video); err != nil { log.fatalf("failed to initialize sdl: %s", err) } defer sdl.quit()
サウンドをロードする前にオーディオ デバイスを開く必要があります。適切なパラメータ (例: ) を指定して
mix.openaudio または
mix.openaudiodevice
以上がSDL2_Mixer を使用して音楽を初期化できず、認識できないオーディオ形式が報告されるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。