android学习之SoundPool

今天学习了一下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++;
	}

}



你可能感兴趣的:(Android基础学习)