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);
    }
}
相關文章
相關標籤/搜索