Android多媒体--SoundPool
2016-05-16 23:53
483 查看
SoundPool是用来播放短促声音的对象,他最大支持存放20个短促的声音
具体使用的代码请参见下面的demo示例
具体使用的代码请参见下面的demo示例
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button button; private SoundPool soundPool; private Map<String,Integer> poolMap; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); poolMap = new HashMap<String, Integer>();//容器 // 第一个参数为音频池最多支持装载多少个音频,就是音频池的大小,最大容量为不超过20 // 第二个参数指定声音的类型,在AudioManager类中以常量的形式定义, // 一般指定为AudioManager.STREAM_MUSIC即可; // 第三个参数为音频的质量,默认为0,这个参数为预留参数,现在没有实际意义,为扩展预留字段,一般传0即可 soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0); // 装载音频进音频池,并且把ID记录在Map中 poolMap.put("test", soundPool.load(this, R.raw.ce, 1)); soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() { @Override public void onLoadComplete(SoundPool soundPool, int sampleId, int status) { // 每次装载完成均会回调 // 当前装载完成ID为map的最大值,即为最后一次装载完成 if (sampleId == poolMap.size()) { // 进入应用播放四次声音 //第一个参数是歌曲的ID,第二个和第三个参数是左右声道的音量,值为0f--1.0f //第四一个参数是音频的质量,暂时没有什么意义,给0就可以 //第五个参数是循环的次数,0为播放一次,-1为循环播放,如给3就是播放4次 //第六个参数是播放的速率,值为0--2之间,1表示正常播放 MainActivity.this.soundPool.play(poolMap.get("test"), 1.0f, 1.0f, 0, 3, 1.0f); } } }); } private void init() { button= (Button) findViewById(R.id.button); button.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.button: if (soundPool != null) { soundPool.play(poolMap.get("test"), 1.0f, 1.0f, 0, -1, 1.0f); } break; } } }
相关文章推荐
- 简单触屏事件
- Android Studio 常用快捷键
- Android Handler和他的小伙伴们,消息机制详解
- android半透明引导页
- makefile&Android mk文件中打印log
- win/mac下反编译Android安装包-APK文件
- android布局属性详解
- Android的Window
- android studio安装和配置
- Android多媒体--通过SurfaceView录像并存储
- Android Resource类创建过程(未完)
- 利用接口实现service与Activity消息传递
- 一起来学习android自定义控件3——边缘凹凸的View
- android学习笔记(五)__Activity
- Android五种储存方式之一文件内部File存储
- Android五种储存方式之一SharedPererences存储
- android学习笔记(四)__xml和widget
- android客户端学习-listview的列表点击事件
- Android的手势识别
- android 自定义Toast