Android SoundPool用于快速播放小而短的聲音 常見于游戲

jopen 10年前發布 | 33K 次閱讀 Android Android開發 移動開發

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);
}

}</pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!