2010-11-29 10 views
4

私はAndroidにはかなり新しいので、やさしくしてください!Android SoundPoolのカット音源ファイルの短い

私は次のコードを持っています。これは "developersshort"を再生するだけです。

public constructor(Context context){ 
    this.context = context; 
    soundPool = new SoundPool(2, AudioManager.STREAM_MUSIC,0); 
    soundPoolMap = new HashMap<Integer, Integer>(); 
    soundPoolMap.put(1, soundPool.load(this.context, 
     R.raw.developersshort, 1));   
} 

public void run() { 
    soundPool.play(soundPoolMap.get(1), 1, 1, 1, 0, 1f); 
} 

[何が起こっているのか理解しようとすると、現在、「開発者」を繰り返し叫んでいるSteve Ballmerのリミックスが再生されています。サウンドファイルのサイズは〜90KBです。]

エミュレータでアプリケーションを実行し、サウンドをトリガーするボタンを押すと、「開発者開発者の開発者...」などと思っています。

しかし、私はそれを私の携帯電話に展開すると、すべて私は "velop"のようなものを一度聞いてから、音が止まります。

私は何が起こっているのか考えていませんか?

ありがとうございます!

答えて

1

オーディオファイルは.oggファイルですか? SoundPoolで他のフォーマットに問題があるようです。それが動作しない場合は、小さなオーディオファイルでテストすることができます。私のオーディオファイルが60kbを超えると、私はいくつかの不具合がありました。

0

ストレージ上に60kb、またはヒープ上に2MBのデコードされた、純粋な波として限界があるかもしれません。 1秒以上何も使用しないでください。

サウンドプールには本当に小さなファイルが必要です。 SDKページを読んでください。

1

サウンドファイルをリサンプリングしようとしましたか?

これまで私のサウンドファイルがカットされていました。しかし、私は44kHzから22KHzにm4aを変換して再サンプリングしていますが、現在はカットされずに動作します。これを参照してください:and again about memory issues with SoundPool

同じように試してみてください。

ご希望の場合はご利用ください。

関連する問題