package com.kerry.demo;
import android.app.Activity;
import android.content.Context;
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.widget.Toast;
public class Demo1Activity extends Activity implements OnClickListener{
Button buttons [] = new Button[6] ;
SoundPool soundPool;
int streamId;
float volume ;
// Map hashMap = new HashMap<integer, integer>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initSoundPool();
buttons[0] = (Button) this.findViewById(R.id.button1);
buttons[1] = (Button) this.findViewById(R.id.button2);
buttons[2] = (Button) this.findViewById(R.id.button3);
buttons[3] = (Button) this.findViewById(R.id.button4);
buttons[4] = (Button) this.findViewById(R.id.button5);
buttons[5] = (Button) this.findViewById(R.id.button6);
for(Button bt :buttons){
bt.setOnClickListener(this);
}
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.button1:
playSound(1);
Toast.makeText(this,"button1",0).show();
;break;
case R.id.button2:
playSound(2);
Toast.makeText(this,"button2",0).show();
;break;
case R.id.button3:
Toast.makeText(this,"button3",0).show();
pauseSound();
;break;
case R.id.button4:
stopSound();
;break;
case R.id.button5:
playSound(5);
;break;
case R.id.button6:;break;
}
}
public void initSoundPool(){
soundPool = new SoundPool(1, //同事播放音效的数量
AudioManager.STREAM_MUSIC, //设置音频类型
0); //为以后留得参数 展示设置为0 即可
streamId = soundPool.load(this,R.raw.noitem,1);
AudioManager audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
int streamMaxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_RING);
int streamVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
volume = streamVolume/streamMaxVolume;
}
public void playSound(int mumber){
soundPool.play(
streamId, //声音资源文件
volume, //左声道
volume, //右声道
1, // 优先级 0 为最低
mumber, //播放次数
1); //0.5~2.0 播放速度
}
public void stopSound(){
soundPool.stop(streamId);
}
public void pauseSound(){
soundPool.pause(streamId);
}
}
分享到:
相关推荐
SoundPool soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0); ``` 这里我们传入三个参数:最大同时播放的声音数量(10)、音频流类型(通常使用 `AudioManager.STREAM_MUSIC` 表示音乐流)以及音频...
在Android开发中,播放音频是常见的功能之一,而MediaPlayer和SoundPool是两个主要用来处理音频播放的类。本文将深入探讨这两个组件的区别以及如何通过它们实现音频播放。 首先,我们来了解一下`MediaPlayer`。它是...
在Android开发中,SoundPool是用于播放短暂音频效果的一个高效工具,特别适合处理游戏或应用中的声音反馈。本文将深入探讨SoundPool的工作原理、使用方法以及如何在实际项目中实现音效播放。 ### 1. SoundPool概述 ...
在Android开发中,`Soundpool`是一个非常实用的类,用于播放短小的音频剪辑,比如游戏中的音效或简单的背景音乐。`Soundpool`的优势在于它能快速响应,即使在低内存环境下也能高效地处理音频播放。下面将详细讲解`...
在Android开发中,SoundPool是一个非常实用的类,主要用于加载和播放小的音频剪辑,尤其适合游戏或者应用中的音效。"SoundPool实例Demo-2.0"是一个专为应对Android 5.0(API Level 21)之后SoundPool API变化而设计...
在Android平台上,`SoundPool`是一个非常实用的类,它允许开发者轻松地管理和播放短期音频效果。本示例将深入探讨如何在Android应用中使用`SoundPool`来实现音效的加载与播放,以提高用户体验。 `SoundPool`是...
在Android开发中,SoundPool是一个非常实用的类,主要用于播放小型音频文件,尤其适合游戏或者应用中的背景音乐和音效。本实例通过一个名为"SoundTest"的项目,详细展示了如何利用SoundPool来管理和播放音频资源。...
在Android开发中,SoundPool是一个非常重要的音频管理工具,它允许开发者高效地管理和播放短期的、重复的声音效果。本资源“4-15-2(SoundPool音效).7z”可能包含了一系列与SoundPool相关的音频文件和示例代码,用于...
在Android平台上,声音的播放是通过多种方式实现的,其中之一就是使用`SoundPool`类。`SoundPool`是一个高效的声音管理器,适用于短小、重复的声音效果,如游戏中的音效。下面我们将深入探讨`SoundPool`的工作原理、...
在Android开发中,即时音效的实现通常依赖于`android.media.SoundPool`类。`SoundPool`是一个高效的声音播放管理器,特别适用于处理小型、短促的音频剪辑,如游戏中的点击声、按钮音效等。下面我们将深入探讨如何...
在Android应用开发中,SoundPool是一个非常重要的组件,尤其对于那些需要实时音频处理或游戏类应用来说。这个毕业设计项目专注于使用SoundPool来实现音效功能,帮助学生深入理解和掌握Android音频处理技术。以下是...
### Android的SoundPool类使用与利弊 #### 一、SoundPool 类简介 在Android开发过程中,音频播放是一项常见的需求,特别是在游戏开发中。对于简短的音效播放,`SoundPool`类提供了非常高效且实用的方法。相比于`...
在Android开发中,SoundPool是一个非常实用的类,主要用于播放短小、重复的音频效果,如游戏中的音效。这个"Soundpool实例"是为开发者提供一个了解和学习如何使用SoundPool来管理与播放音频资源的参考。让我们深入...
在Android平台上,`SoundPool` 是一个非常实用的类,用于播放小的音频剪辑,特别是在游戏开发中,它能够高效地管理和播放大量的短音频。`SoundPool` 的优势在于它可以预先加载音频到内存,从而实现快速响应的音频...
在Android开发中,SoundPool是一个非常实用的类,主要用于播放短小的音频片段,比如游戏中的音效。在Android 5.0(API Level 21)之后,SoundPool的用法有所变化,使得在不同版本的Android系统上实现音频播放变得更...
在Android开发中,SoundPool是一个非常实用的音频处理类,主要用于播放短小的音频片段,如游戏中的音效。它提供了高效的声音缓存机制,能够快速响应用户操作,实现音频的即时播放。在这个"SoundPool使用Example"中,...
在Android开发中,SoundPool是实现游戏或应用中音频快速响应和播放的重要工具。它允许开发者加载多个声音文件,并在需要时快速、低延迟地播放它们,尤其适用于背景音乐、游戏音效等场景。本篇文章将深入探讨...
Android基础软件源码(SoundPool音效).zip
资源为一个专门处理短音效soundPool的工具类,使用起来很方便,封装的很好!使用方法: 1、你只需要在需要的地方调用这个方法进行类初始化 private void initSound() { soundPlay = new SoundPlay(); soundPlay....
在Android开发中,`SoundPool`是一个非常实用的类,用于播放小的、短的音频剪辑,如游戏音效或简单的用户界面反馈声音。它提供了低延迟的音频播放功能,使得应用程序能够快速响应用户的操作。`SoundPool`的例子通常...