1.創建一個SoundPool對象;
SoundPool pool=new SoundPool(1, AudioManager.STREAM_MUSIC,0);
2.調用SoundPool load()方法;
final int soundId= pool.load(this,R.raw.xpy,1);
第二個參數是項目資源中的一個音頻文件
返回值是一個聲音id
3.調用play()方法;
pool.play(soundId,1,1,1,0,0.5f);
參數介紹下,
- soundID,調用load方法返回值
- 左聲道音量0-1
- 右聲道音量0-1
- 優先級 1
- 是否輪播0 = no loop, -1 = loop forever)
- 播放速度0.5-2 float類型值;
實現比較簡單代碼如下
package com.example.mediaplayer;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private SoundPool pool ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pool=new SoundPool(1, AudioManager.STREAM_MUSIC,0);
final int soundId= pool.load(this,R.raw.xpy,1);
findViewById(R.id.bt).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pool.play(soundId,1,1,1,0,0.5f);
}
});
}
}