2011-11-01 19 views
2

私はloadを使ってidを介してサウンドプールのmp3を開こうとしていますが、iveもファイル記述子でそれをやってみました。mp3が圧縮されているのはなぜですか?

私はいつも同じ例外を取得:私のmp3が圧縮されているのはなぜ

This file can not be opened as a file descriptor; it is probably compressed 

を?ここで

はsoundpoolコードです:

mySoundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0); 
try { mySoundPool.load(this, R.raw.drum, 1); 
    } catch (Exception e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     Log.e(TAG, "", e); 
    } 

答えて

1

MP3は圧縮されたファイル形式ですので、あなたのMP3ファイルがすでに圧縮されています。 wikipediaが言うように:

MP3は、

This Stackoverflow questionはあなたがAndroid上でWAVまたはOGGのサポートを使用する必要があることを示唆している非可逆 データ圧縮の形式を使用して特許を取得したデジタルオーディオエンコーディングフォーマットであり、代替手段を提供していますMP3を再生する方法。

SoundPool API docsはMP3のサポートを意味するので、ここで何が問題になっているのか分かりません。私はいくつかの他のMP3ファイルでテストを試し、既存のMP3をテストしてWAV/OGGフォーマットにテストしてみることをお勧めします。

Androidリソースにはファイル拡張子が含まれていないため、名前を変更する必要があります。 res \ rawに同じ名前で別のファイル拡張子があるかどうかを確認してください。問題が発生する可能性があります。

+0

なぜ、それはsoundpoolで遊ぶのですか?私はsoundpoolがmp3を除いていると思った? – panthro

+0

コードを投稿してください。 –

+0

コードを掲示しました – panthro

関連する問題