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