今天学习了一下SoundPool,大家都知道很多游戏的的音效都是通过SoundPool来播放的,一般来说SoundPool允许播放的音乐不能超过1m,今天刚开始加载几个超过1m的音乐,然后程序也没有挂掉,就是没有声音,真心累,还有一个问题,在我的电脑上,只能通过触发事件来播放音乐,不知道你们的是不是,贴代码:
package com.jk.soundpool;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
public class MainActivity extends Activity {
SoundPool mySoundPool;
int[] id = new int[4];
int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init() {
// initialize mySoundPool
mySoundPool = new SoundPool(3, AudioManager.STREAM_MUSIC, 0);
// load the music
id[0] = mySoundPool.load(MainActivity.this, R.raw.bird, 1);
id[1] = mySoundPool.load(MainActivity.this, R.raw.cat, 1);
id[2] = mySoundPool.load(MainActivity.this, R.raw.ding, 1);
}
public void onMyClick(View view) {
if (i == 2)
i = 0;
// play the music
mySoundPool.play(this.id[i], 0.5f, 1.0f, 0, -1, 2.0f);
System.out.println(i);
i++;
}
}