SoundPool用于快速播放小而短的声音 常见于游戏

package com.pas.soundpool;

import java.io.IOException;

import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {

    private SoundPool sp;
    private int soundid;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	
	//初始化需要写在OnCreate中 因为其为异步初始化
	
	// 最多几个资源 资源类型 srcQuality暂无意义 默认用0
	sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
	// 第三个参数暂时无用
	//加载声音至声音池
	soundid=sp.load(this, R.raw.fire, 1);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
	// Inflate the menu; this adds items to the action bar if it is present.
	getMenuInflater().inflate(R.menu.main, menu);
	return true;
    }

    /**
     * SoundPool用于快速播放小而短的声音 常见于游戏
     * 
     * @throws Exception
     */

    public void fire(View v) {
	//声音id 左声道 右声道 优先级
	//loop loop mode (0 = no loop, -1 = loop forever)
	//rate playback rate (1.0 = normal playback, range 0.5 to 2.0)

	sp.play(soundid, 1.0f, 0.3f, 0, 0, 2.0f);
    }
}



你可能感兴趣的:(SoundPool用于快速播放小而短的声音 常见于游戏)