1

mp3 および aac ファイルを再生する必要がある Java プロジェクトがあります。汎用コードを使用して Java Sound API 経由でサウンド ファイルを再生する MediaPlayer クラスを作成しました。私の CLASSPATH には、Java Sound SPI として登録されている 2 つのオーディオ デコーディング ライブラリがあります。(MP3SPI および JAAD)。

問題は、MP3SPI が JAAD よりも優先されるように見えることです。つまり、AAC ファイルを再生すると、MP3SPI が例外をスローし、(明らかに) 曲を再生しません。CLASSPATH から MP3SPI を削除すると、正しい SPI (JAAD) が呼び出され、AAC ファイルが正常に再生されます。

この問題はおそらくより一般的に表される可能性があるため、誰かがこれを解決した経験があることを願っています。

MP3 と AAC の両方のデコード/再生をサポートするにはどうすればよいですか?

4

1 に答える 1

0

MP3SPI が正しく動作せず、仕様に従って動作していないように思えます。つまり、間違った例外をスローするか、例外をスローする必要があります。

基本的に次の 2 つのオプションしかありません。

  1. MP3SPI をハックして修正します (そのAudioFileReader実装を調べて、Javadoc で指定されているとおりに動作することを確認してください)。
  2. 別の mp3 サービス プロバイダーを使用します (たとえば、これまたはこれらのいずれか)。

幸運を。

于 2014-09-26T13:15:35.137 に答える