`
x1ong
  • 浏览: 15339 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

SoundPool播放音频

阅读更多
package com.soundpool;

import java.util.HashMap;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.annotation.SuppressLint;
import android.app.Activity;


public class MainActivity extends Activity implements OnClickListener{

private Button one,two,three;
private HashMap<Integer, Integer> map;
private SoundPool sp;
@SuppressLint("UseSparseArrays")
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

one=(Button) findViewById(R.id.one);
two=(Button) findViewById(R.id.two);
three=(Button) findViewById(R.id.three);

one.setOnClickListener(this);
two.setOnClickListener(this);
three.setOnClickListener(this);
map=new HashMap<Integer, Integer>();
//最大流同步对象   音频类型(stream_music_常规值) srcquality采样率转换质量
sp=new SoundPool(3, AudioManager.STREAM_MUSIC, 0);
map.put(1,  sp.load(this, R.raw.bomb, 1));
map.put(2,  sp.load(this, R.raw.shot, 1));
map.put(3,  sp.load(this, R.raw.arrow, 1));
}

public void onClick(View v) {
switch (v.getId()) {
case R.id.one:
//集合中数据  左声道范围值(0-1)   右声道范围值(0-1)   优先级     是否循环(1、不循环,2、永远循环)  率播放速率(1 =正常播放,范围0.5至2)
sp.play(map.get(1), 1, 1, 0, 0, 1);
break;
case R.id.two:
sp.play(map.get(1), 1, 1, 0, 0, 1);
break;

case R.id.three:
sp.play(map.get(1), 1, 1, 0, 0, 1);
break;


default:
break;
}
}



}
分享到:
评论

相关推荐

    Android多媒体功能开发-使用SoundPool播放音频的例子

    本教程将深入探讨如何使用`SoundPool`类来实现高效、灵活的音频播放。`SoundPool`是Android提供的一种轻量级的音频管理工具,特别适用于游戏开发或者需要快速响应的场景,因为它可以预先加载音频文件到内存,从而...

    Android使用SoundPool实现播放音频

    Android中使用SoundPool实现播放音频是一种常见的音频播放方式。SoundPool是一个音频管理器,主要用于播放短音频,例如游戏中的音效、提示音等。下面详细介绍了Android使用SoundPool实现播放音频的相关知识点。 ...

    Android多媒体应用使用SoundPool播放音频

    由于MediaPlayer占用资源较多,且不支持同时播放多个音频,所以Android还提供了另一个播放音频的类—–SoundPool。SoundPool即音频池,可以同时播放多个短小的音频,而且占用的资源较少。SoundPool适合在应用程序中...

    使用 SoundPool 同时播放多个音频

    在Android开发中,有时我们需要实现同时播放多个音频的效果,例如在游戏场景中或者音乐应用的混音功能。...学习和理解这个示例,将有助于你在实际开发中更好地利用 `SoundPool` 实现多音频播放的功能。

    Android用SoundPool播放音效

    在Android开发中,SoundPool是用于播放短暂音频效果的一个高效工具,特别适合处理游戏或应用中的声音反馈。本文将深入探讨SoundPool的工作原理、使用方法以及如何在实际项目中实现音效播放。 ### 1. SoundPool概述 ...

    android soundpool播放音乐

    在Android平台上,声音的播放是通过多种方式...通过合理使用`SoundPool`,开发者可以实现高效、流畅的音频播放体验。在实际项目中,务必注意音频资源的管理,确保音频加载完成后再播放,并在不再使用时及时释放资源。

    MediaPlayer与SoundPool总结

    在Android开发中,处理音频播放是一项常见的任务,而MediaPlayer和SoundPool是两个主要的音频处理类,用于在应用程序中播放声音。本篇文章将对这两个组件进行深入的总结,探讨它们的特点、用途以及如何实现多个音频...

    Soundpool音乐播放控制练习

    `Soundpool`的优势在于它能快速响应,即使在低内存环境下也能高效地处理音频播放。下面将详细讲解`Soundpool`的使用、配置以及播放控制的相关知识点。 1. **Soundpool类的创建** 创建`Soundpool`对象需要传入两个...

    SoundPool音效播放

    在Android开发中,SoundPool是实现游戏或应用中音频快速响应和播放的重要工具。它允许开发者加载多个声音文件,并在需要时快速、低延迟地播放它们,尤其适用于背景音乐、游戏音效等场景。本篇文章将深入探讨...

    Android soundpool播放音乐声音池应用举例.rar

    为了确保资源被正确释放,需要监听音频的播放状态,当音频播放结束或停止时,释放相应的资源: ```java soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() { @Override public void ...

    android 使用 SoundPool 播放音效

    `SoundPool`是Android系统提供的一个音频管理工具,它允许开发者快速播放短期的音频剪辑,如游戏中的按钮点击声或角色动作音效。`SoundPool`的特点在于它可以高效地管理和缓存多个小音频文件,确保在需要时能即时...

    Android移动应用开发基础教程第6章.pptx

    要使用 SoundPool 播放音频,首先需创建 SoundPool 对象。例如: ```java if (Build.VERSION.SDK_INT &gt;= 21) { SoundPool.Builder builder = new SoundPool.Builder(); builder.setMaxStreams(2);// 设置可加载的...

    android 的摄像头 和soundPool播放声音实例

    在Android平台上,开发人员可以利用丰富的API来实现与硬件设备的交互,如摄像头和音频播放。本实例将探讨如何使用Android SDK中的相关组件来实现摄像头功能以及通过SoundPool播放声音。 1. 摄像头操作 在Android中...

    MediaPlayer和SoundPool区别及简单实例

    在Android开发中,播放音频是常见的功能之一,而MediaPlayer和SoundPool是两个主要用来处理音频播放的类。本文将深入探讨这两个组件的区别以及如何通过它们实现音频播放。 首先,我们来了解一下`MediaPlayer`。它是...

    Soundpool实例

    在Android开发中,...但是,对于需要高效短音频播放的需求,SoundPool仍然是一个很好的选择,尤其是在兼容低版本Android系统时。通过这个实例,开发者可以学习如何在实际项目中灵活运用SoundPool,提升用户体验。

    Android中播放声音的两种方法MediaPlayer 和SoundPool

    在实际开发中,应根据项目需求来选择合适的音频播放组件。例如,如果应用需要播放背景音乐和音效,可以结合使用两者,即使用`MediaPlayer`播放背景音乐,`SoundPool`处理游戏音效。 以上是对`MediaPlayer`和`...

    SoundPool实例Demo-2.0

    5. **资源管理和释放**:考虑到内存优化,当音频播放完毕或不再需要时,应立即释放SoundPool中的资源,避免内存泄漏。 在"SoundPool-master"这个压缩包中,我们可以期待找到以下几个文件和目录: - `...

    Android下使用SoundPool的示例

    此外,`SoundPool`还提供了控制音频播放的其他方法,如`stop()`, `pause()`, 和 `resume()`,以及调整音量的`setVolume()`方法。 在应用退出或者不再需要音频时,别忘了释放`SoundPool`资源,防止内存泄漏: ```...

Global site tag (gtag.js) - Google Analytics