SoundPoolクラスを使用して複数のサウンドエフェクトを再生する際に問題があります。基本的には、画面上に多数のオブジェクトをタップするというリアルタイムのゲームを作っています。プレイヤーがオブジェクトに触れるたびに、私はそのサウンドを再生する必要があります。だから私はSoundPoolクラスに目を向けました。以下は私のコードです:playSound()
メソッドが呼び出されるたびにAndroid Soundpoolでサウンドが再生されない
private SoundPool mSoundPool;
private int mSoundId;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PreferencesManager.getInstance(this);
setContentView(R.layout.arcademode);
initialize();
}
private void initialize() {
this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
mSoundPool = new SoundPool(mBalloonPopCount, R.raw.pop, 0);
mSoundId = mSoundPool.load(this, R.raw.pop, 1);
}
private void playSound() {
float actualVolume = (float) audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
float maxVolume = (float) audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
float volume = actualVolume/maxVolume;
mSoundPool.play(mSoundId, volume, volume, 1, 0, 1f);
}
今、私は何も聞いていません。私はLogCatに見たとき、私は次の行を参照してください。
08-14 19:48:50.117: ERROR/AudioFlinger(2613): invalid stream type
08-14 19:48:50.117: ERROR/AudioTrack(15611): AudioFlinger could not create track, status: -22
08-14 19:48:50.117: ERROR/SoundPool(15611): Error creating AudioTrack
の問題のオーディオファイルが.WAVファイルです。私も.oggと.mp3のファイルを試してみました。どちらも動作しません。サウンドファイルは非常に小さく(.wavファイルは60KBを占めていません)、サイズは問題ではありません。
問題の内容を把握したことがありますか?私は同じ問題を抱えており解決できません。 –