2

SDL_Mixer が特定の mp3 の音楽を再生しないのはなぜですか?

作成中のアプリケーションで音楽再生に SDL_Mixer を利用しています。特定の曲 (実際にはアルバム全体) では、エラーが返されずに音楽が再生されません。音楽データは Mix_LoadMUS を使用して正常にロードされ、そのデータで Mix_PlayMusic を実行すると、奇妙に成功すると 0 が返されますが、音楽は再生されません。また、Mix_GetError() と SDL_GetError() (同じだと思います) を読んで、エラーが発生するかどうかを確認しましたが、そのような運はありませんでした。

私の質問は、SDL_mixer が特定の mp3 を再生できない他の理由は何ですか?

他の音楽プレーヤーで再生できるので、mp3 が機能していることはわかっています。また、Mix_PlayingMusic が 0 を返すため、(おそらく音量が下がっているのではなく) 再生されていないこともわかっています。

みんな、ありがとう!

4

3 に答える 3

1

これは実際には、その特定のコンピューターのサウンドの問題でした。別のマシンで同じテストを試すと、サウンドは問題なく機能しました。他の誰かがこの問題に遭遇した場合に備えて、簡単にメモしてください。

于 2009-01-20T18:13:18.443 に答える
0

私は同じ問題を抱えていました.mp3ファイルを大胆に再エクスポートしても役に立ちませんでしたが、次のようなことを行うことで: (プログラムを実行するたびに異なりました)。別の解決策は、音楽を .ogg ファイルに変換することでした。

于 2015-08-31T15:44:46.913 に答える
0

MP3 アルゴリズムのさまざまな実装は、さまざまなレベルの形式への準拠を許容します。ほとんどのユーザーは、何も聞こえないよりも途切れ途切れの音を聞くことを好むため、ほとんどの音楽プレーヤーはかなり寛容ですが、一般的な再生ライブラリはそれよりもはるかに寛容です。

問題のある (またはすべての) mp3 をAudacityなどのオーディオ サンプル エディタで開き、mp3 を再エクスポートすることをお勧めします。mp3 圧縮は本質的に非可逆であるため、品質が少し低下する可能性がありますが、再生の問題は解決する可能性があります。

于 2009-01-20T01:20:39.987 に答える